From ae1c1721fc5cd8bbd1433ba95777d4897580d98d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?IOhannes=20m=20zm=C3=B6lnig?= Date: Thu, 9 Sep 2010 13:52:47 +0000 Subject: ... svn path=/trunk/externals/iem/iemnet/; revision=14022 --- udpclient.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/udpclient.c b/udpclient.c index 0034fca..253f983 100644 --- a/udpclient.c +++ b/udpclient.c @@ -22,13 +22,13 @@ /* ---------------------------------------------------------------------------- */ +//#define DEBUG + #include "iemnet.h" #include #include - - static t_class *udpclient_class; static const char objName[] = "udpclient"; @@ -142,8 +142,10 @@ static void udpclient_disconnect(t_udpclient *x) { if (x->x_fd >= 0) { - if(x->x_sender)iemnet__sender_destroy(x->x_sender); x->x_sender=NULL; + + DEBUG("disconnect %x %x", x->x_sender, x->x_receiver); if(x->x_receiver)iemnet__receiver_destroy(x->x_receiver); x->x_receiver=NULL; + if(x->x_sender)iemnet__sender_destroy(x->x_sender); x->x_sender=NULL; sys_closesocket(x->x_fd); x->x_fd = -1; @@ -195,7 +197,9 @@ static void udpclient_receive_callback(void*y, t_iemnet_chunk*c) { } else { // disconnected DEBUG("disconnected"); - udpclient_disconnect(x); + if(x->x_fd >= 0) { + udpclient_disconnect(x); + } } } -- cgit v1.2.1