From: Matthias Wachs Date: Tue, 20 Dec 2011 15:48:22 +0000 (+0000) Subject: Improvement in reconnect: first disconnect, then destroy neighbours X-Git-Tag: initial-import-from-subversion-38251~15555 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=f6078a3ab989e69e1126689b88d0c7483c43db84;p=oweals%2Fgnunet.git Improvement in reconnect: first disconnect, then destroy neighbours --- diff --git a/src/transport/transport_api.c b/src/transport/transport_api.c index b7704e512..9ff5cec88 100644 --- a/src/transport/transport_api.c +++ b/src/transport/transport_api.c @@ -933,8 +933,6 @@ disconnect_and_schedule_reconnect (struct GNUNET_TRANSPORT_Handle *h) struct GNUNET_TRANSPORT_TransmitHandle *th; GNUNET_assert (h->reconnect_task == GNUNET_SCHEDULER_NO_TASK); - /* Forget about all neighbours that we used to be connected to */ - GNUNET_CONTAINER_multihashmap_iterate (h->neighbours, &neighbour_delete, h); if (NULL != h->cth) { GNUNET_CLIENT_notify_transmit_ready_cancel (h->cth); @@ -945,6 +943,8 @@ disconnect_and_schedule_reconnect (struct GNUNET_TRANSPORT_Handle *h) GNUNET_CLIENT_disconnect (h->client, GNUNET_YES); h->client = NULL; } + /* Forget about all neighbours that we used to be connected to */ + GNUNET_CONTAINER_multihashmap_iterate (h->neighbours, &neighbour_delete, h); if (h->quota_task != GNUNET_SCHEDULER_NO_TASK) { GNUNET_SCHEDULER_cancel (h->quota_task);