diff options
author | IOhannes m zmölnig <zmoelnig@users.sourceforge.net> | 2011-01-17 10:16:05 +0000 |
---|---|---|
committer | IOhannes m zmölnig <zmoelnig@users.sourceforge.net> | 2011-01-17 10:16:05 +0000 |
commit | a5abbe224f8eda29e721474df1647404b293fe89 (patch) | |
tree | 204b5bb479823565bdb4c97e4860bc0d7a4856ac | |
parent | 8bad84ae1f3d50c88dadfee53baa9bde6ca51151 (diff) |
push disconnection's to receiving objects
svn path=/trunk/externals/iem/iemnet/; revision=14747
-rw-r--r-- | iemnet_receiver.c | 8 |
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 |