From a4f7c437b828b67da222e971c54e855b4dd67be5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?IOhannes=20m=20zm=C3=B6lnig?= Date: Mon, 29 Mar 2010 14:10:22 +0000 Subject: provide feedback to Pd main-thread whether sender-thread still exists svn path=/trunk/externals/iem/iemnet/; revision=13300 --- tcpserver.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'tcpserver.c') diff --git a/tcpserver.c b/tcpserver.c index 8a5673b..fc2cd0f 100644 --- a/tcpserver.c +++ b/tcpserver.c @@ -148,7 +148,7 @@ static int tcpserver_fixindex(t_tcpserver*x, int client) } /* ---------------- main tcpserver (send) stuff --------------------- */ - +static void tcpserver_disconnect_socket(t_tcpserver *x, t_floatarg fsocket); static void tcpserver_send_bytes(t_tcpserver*x, int client, t_iemnet_chunk*chunk) { if(x && x->x_sr && x->x_sr[client]) { @@ -166,6 +166,11 @@ static void tcpserver_send_bytes(t_tcpserver*x, int client, t_iemnet_chunk*chunk SETFLOAT(&output_atom[1], size); SETFLOAT(&output_atom[2], sockfd); outlet_anything( x->x_status_outlet, gensym("sent"), 3, output_atom); + + if(size<0) { + // disconnected! + tcpserver_disconnect_socket(x, sockfd); + } } } -- cgit v1.2.1