aboutsummaryrefslogtreecommitdiff
path: root/udpclient.c
diff options
context:
space:
mode:
authorIOhannes m zmölnig <zmoelnig@users.sourceforge.net>2010-09-09 13:52:47 +0000
committerIOhannes m zmölnig <zmoelnig@users.sourceforge.net>2010-09-09 13:52:47 +0000
commitae1c1721fc5cd8bbd1433ba95777d4897580d98d (patch)
tree2a6b56764d0f2d16e2a269bb22a0872c1e0030f2 /udpclient.c
parent641da8a4cb3a7749bf6c77a9338370a165853224 (diff)
...
svn path=/trunk/externals/iem/iemnet/; revision=14022
Diffstat (limited to 'udpclient.c')
-rw-r--r--udpclient.c12
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);
+ }
}
}