From 1f773086de781730e80f256f36f8e1a83b578515 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Fri, 23 Apr 2010 08:53:28 +0000 Subject: [PATCH] fix --- src/peerinfo/peerinfo_api.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/peerinfo/peerinfo_api.c b/src/peerinfo/peerinfo_api.c index 0a0916d72..8d1ab3c63 100644 --- a/src/peerinfo/peerinfo_api.c +++ b/src/peerinfo/peerinfo_api.c @@ -478,9 +478,9 @@ iterator_start_receive (void *cls, ic->timeout_task); ic->timeout_task = GNUNET_SCHEDULER_NO_TASK; } - ic->callback (ic->callback_cls, NULL, NULL, 2); reconnect (ic->h); trigger_transmit (ic->h); + ic->callback (ic->callback_cls, NULL, NULL, 2); GNUNET_free (ic); return; } @@ -507,13 +507,14 @@ signal_timeout (void *cls, struct GNUNET_PEERINFO_IteratorContext *ic = cls; ic->timeout_task = GNUNET_SCHEDULER_NO_TASK; + if (! ic->in_receive) + GNUNET_CONTAINER_DLL_remove (ic->h->tq_head, + ic->h->tq_tail, + ic->tqe); ic->callback (ic->callback_cls, NULL, NULL, 1); ic->callback = NULL; if (ic->in_receive) - return; /* need to finish processing */ - GNUNET_CONTAINER_DLL_remove (ic->h->tq_head, - ic->h->tq_tail, - ic->tqe); + return; GNUNET_free (ic->tqe); GNUNET_free (ic); } -- 2.25.1