aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIOhannes m zmölnig <zmoelnig@users.sourceforge.net>2010-04-01 11:20:27 +0000
committerIOhannes m zmölnig <zmoelnig@users.sourceforge.net>2010-04-01 11:20:27 +0000
commite232cf2ce858fd84cddae6a5d231ff46e7d5e1d0 (patch)
treed69246ae3abceda4ce74ca274a4710177bb0bfbd
parent8c1f8455d4c9b6f7ba9f8c7091de8f8b9fa6f6fa (diff)
call sender_destroy/receiver_destroy before cleaning up socketreceiver
svn path=/trunk/externals/iem/iemnet/; revision=13344
-rw-r--r--tcpserver.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/tcpserver.c b/tcpserver.c
index caa8611..05fd813 100644
--- a/tcpserver.c
+++ b/tcpserver.c
@@ -95,6 +95,10 @@ static void tcpserver_socketreceiver_free(t_tcpserver_socketreceiver *x)
t_iemnet_sender*sender=x->sr_sender;
t_iemnet_receiver*receiver=x->sr_receiver;
+ if(sender) iemnet__sender_destroy(sender);
+ if(receiver)iemnet__receiver_destroy(receiver);
+
+ sys_closesocket(sockfd);
x->sr_owner=NULL;
@@ -104,11 +108,6 @@ static void tcpserver_socketreceiver_free(t_tcpserver_socketreceiver *x)
x->sr_fd=-1;
freebytes(x, sizeof(*x));
-
- if(sender) iemnet__sender_destroy(sender);
- if(receiver)iemnet__receiver_destroy(receiver);
-
- sys_closesocket(sockfd);
}
DEBUG("freeed %x", x);
}