aboutsummaryrefslogtreecommitdiff
path: root/src/util/client.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2013-12-20 13:44:03 +0000
committerChristian Grothoff <christian@grothoff.org>2013-12-20 13:44:03 +0000
commit7637d72d283a77cb85ea336a37157e7bdf43d2e4 (patch)
treed14502b100ca34ec1429f916ec8e2034e96627cc /src/util/client.c
parent7a361fb147b80bab6308bb2457fb590f777936c5 (diff)
downloadgnunet-7637d72d283a77cb85ea336a37157e7bdf43d2e4.tar.gz
gnunet-7637d72d283a77cb85ea336a37157e7bdf43d2e4.zip
-set receiver handler to NULL on timeout
Diffstat (limited to 'src/util/client.c')
-rw-r--r--src/util/client.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/util/client.c b/src/util/client.c
index 1d1c94402..fbdf881da 100644
--- a/src/util/client.c
+++ b/src/util/client.c
@@ -168,7 +168,7 @@ struct GNUNET_CLIENT_Connection
168 GNUNET_CLIENT_MessageHandler receiver_handler; 168 GNUNET_CLIENT_MessageHandler receiver_handler;
169 169
170 /** 170 /**
171 * Closure for receiver_handler. 171 * Closure for @e receiver_handler.
172 */ 172 */
173 void *receiver_handler_cls; 173 void *receiver_handler_cls;
174 174
@@ -545,8 +545,11 @@ receive_helper (void *cls, const void *buf, size_t available,
545 if (0 == remaining.rel_value_us) 545 if (0 == remaining.rel_value_us)
546 { 546 {
547 /* signal timeout! */ 547 /* signal timeout! */
548 if (NULL != client->receiver_handler) 548 if (NULL != (receive_handler = client->receiver_handler))
549 client->receiver_handler (client->receiver_handler_cls, NULL); 549 {
550 client->receiver_handler = NULL;
551 receiver_handler (client->receiver_handler_cls, NULL);
552 }
550 return; 553 return;
551 } 554 }
552 /* back to receive -- either for more data or to call callback! */ 555 /* back to receive -- either for more data or to call callback! */