From d8e834a9fd6ee35dfe0630d71693d0b82328d818 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Fri, 19 Nov 2010 12:31:15 +0000 Subject: [PATCH] fixing 1622 --- src/arm/arm_api.c | 1 + src/core/core_api.c | 17 +++++++++-------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/arm/arm_api.c b/src/arm/arm_api.c index f935c590f..cd089c621 100644 --- a/src/arm/arm_api.c +++ b/src/arm/arm_api.c @@ -467,6 +467,7 @@ arm_service_report (void *cls, } if (pos->callback != NULL) pos->callback (pos->cls, GNUNET_YES); + GNUNET_free (proc); GNUNET_free (pos); } diff --git a/src/core/core_api.c b/src/core/core_api.c index 28cec6724..802ba56d4 100644 --- a/src/core/core_api.c +++ b/src/core/core_api.c @@ -464,6 +464,14 @@ reconnect_later (struct GNUNET_CORE_Handle *h) { struct ControlMessage *cm; + while (NULL != (cm = h->pending_head)) + { + GNUNET_CONTAINER_DLL_remove (h->pending_head, + h->pending_tail, + cm); + cm->cont (cm->cont_cls, NULL); + GNUNET_free (cm); + } if (h->client != NULL) { GNUNET_CLIENT_disconnect (h->client, GNUNET_NO); @@ -472,15 +480,8 @@ reconnect_later (struct GNUNET_CORE_Handle *h) &disconnect_and_free_peer_entry, h); } + GNUNET_assert (h->pending_head == NULL); h->currently_down = GNUNET_YES; - while (NULL != (cm = h->pending_head)) - { - GNUNET_CONTAINER_DLL_remove (h->pending_head, - h->pending_tail, - cm); - cm->cont (cm->cont_cls, NULL); - GNUNET_free (cm); - } GNUNET_assert (h->reconnect_task == GNUNET_SCHEDULER_NO_TASK); h->retry_backoff = GNUNET_TIME_relative_min (GNUNET_TIME_UNIT_SECONDS, h->retry_backoff); -- 2.25.1