aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIOhannes m zmölnig <zmoelnig@users.sourceforge.net>2011-01-17 10:16:05 +0000
committerIOhannes m zmölnig <zmoelnig@users.sourceforge.net>2011-01-17 10:16:05 +0000
commita5abbe224f8eda29e721474df1647404b293fe89 (patch)
tree204b5bb479823565bdb4c97e4860bc0d7a4856ac
parent8bad84ae1f3d50c88dadfee53baa9bde6ca51151 (diff)
push disconnection's to receiving objects
svn path=/trunk/externals/iem/iemnet/; revision=14747
-rw-r--r--iemnet_receiver.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/iemnet_receiver.c b/iemnet_receiver.c
index 95d0c57..5f1d806 100644
--- a/iemnet_receiver.c
+++ b/iemnet_receiver.c
@@ -145,13 +145,15 @@ static void*iemnet__receiver_readthread(void*arg) {
result = recvfrom(sockfd, data, size, recv_flags, (struct sockaddr *)&from, &fromlen);
//fprintf(stderr, "read %d bytes...\n", result);
- DEBUG("recfrom %d bytes", result);
- if(result<=0)break;
- c= iemnet__chunk_create_dataaddr(result, data, &from);
+ DEBUG("recfrom %d bytes: %p", result, data);
+ c= iemnet__chunk_create_dataaddr(result, (result>0)?data:NULL, &from);
DEBUG("pushing");
queue_push(q, c);
DEBUG("signalling");
iemnet_signalNewData(receiver);
+
+ if(result<=0) break;
+
DEBUG("rereceive");
}
// oha