diff options
author | IOhannes m zmölnig <zmoelnig@users.sourceforge.net> | 2010-09-09 13:52:47 +0000 |
---|---|---|
committer | IOhannes m zmölnig <zmoelnig@users.sourceforge.net> | 2010-09-09 13:52:47 +0000 |
commit | ae1c1721fc5cd8bbd1433ba95777d4897580d98d (patch) | |
tree | 2a6b56764d0f2d16e2a269bb22a0872c1e0030f2 /udpclient.c | |
parent | 641da8a4cb3a7749bf6c77a9338370a165853224 (diff) |
...
svn path=/trunk/externals/iem/iemnet/; revision=14022
Diffstat (limited to 'udpclient.c')
-rw-r--r-- | udpclient.c | 12 |
1 files 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 <string.h> #include <pthread.h> - - 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); + } } } |