aboutsummaryrefslogtreecommitdiff
path: root/src/transport/transport_api.c
diff options
context:
space:
mode:
authorMatthias Wachs <wachs@net.in.tum.de>2011-12-20 15:48:22 +0000
committerMatthias Wachs <wachs@net.in.tum.de>2011-12-20 15:48:22 +0000
commitf6078a3ab989e69e1126689b88d0c7483c43db84 (patch)
treede5613db19c35bcfc0ff081b91fc2eac6e59cf04 /src/transport/transport_api.c
parent4a2c36e42252c354e3e67d7cb92f3c6dbc514f9a (diff)
downloadgnunet-f6078a3ab989e69e1126689b88d0c7483c43db84.tar.gz
gnunet-f6078a3ab989e69e1126689b88d0c7483c43db84.zip
Improvement in reconnect: first disconnect, then destroy neighbours
Diffstat (limited to 'src/transport/transport_api.c')
-rw-r--r--src/transport/transport_api.c4
1 files changed, 2 insertions, 2 deletions
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)
933 struct GNUNET_TRANSPORT_TransmitHandle *th; 933 struct GNUNET_TRANSPORT_TransmitHandle *th;
934 934
935 GNUNET_assert (h->reconnect_task == GNUNET_SCHEDULER_NO_TASK); 935 GNUNET_assert (h->reconnect_task == GNUNET_SCHEDULER_NO_TASK);
936 /* Forget about all neighbours that we used to be connected to */
937 GNUNET_CONTAINER_multihashmap_iterate (h->neighbours, &neighbour_delete, h);
938 if (NULL != h->cth) 936 if (NULL != h->cth)
939 { 937 {
940 GNUNET_CLIENT_notify_transmit_ready_cancel (h->cth); 938 GNUNET_CLIENT_notify_transmit_ready_cancel (h->cth);
@@ -945,6 +943,8 @@ disconnect_and_schedule_reconnect (struct GNUNET_TRANSPORT_Handle *h)
945 GNUNET_CLIENT_disconnect (h->client, GNUNET_YES); 943 GNUNET_CLIENT_disconnect (h->client, GNUNET_YES);
946 h->client = NULL; 944 h->client = NULL;
947 } 945 }
946 /* Forget about all neighbours that we used to be connected to */
947 GNUNET_CONTAINER_multihashmap_iterate (h->neighbours, &neighbour_delete, h);
948 if (h->quota_task != GNUNET_SCHEDULER_NO_TASK) 948 if (h->quota_task != GNUNET_SCHEDULER_NO_TASK)
949 { 949 {
950 GNUNET_SCHEDULER_cancel (h->quota_task); 950 GNUNET_SCHEDULER_cancel (h->quota_task);