From 963d64f43db9d794bbddf0b131cbf8e51858b6b3 Mon Sep 17 00:00:00 2001 From: Guenter Geiger Date: Mon, 9 Aug 2004 12:52:25 +0000 Subject: Fixed problem when loosing connection under windows svn path=/trunk/externals/ggee/; revision=1923 --- signal/streamin~.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'signal') diff --git a/signal/streamin~.c b/signal/streamin~.c index 437de67..28c0918 100755 --- a/signal/streamin~.c +++ b/signal/streamin~.c @@ -141,7 +141,14 @@ static void streamin_datapoll(t_streamin *x) n = x->nbytes; if (x->nbytes == 0) { /* get the new tag */ ret = recv(x->x_socket, (char*) &x->frames[x->framein].tag,sizeof(t_tag),MSG_PEEK); - if (ret != sizeof(t_tag)) return; + if (ret != sizeof(t_tag)) { +#ifdef NT + sys_closesocket(x->x_socket); + sys_rmpollfn(x->x_socket); + x->x_socket = -1; +#endif + return; + } ret = recv(x->x_socket, (char*) &x->frames[x->framein].tag,sizeof(t_tag),0); x->nbytes = n = x->frames[x->framein].tag.framesize; -- cgit v1.2.1