diff options
author | Matthias Wachs <wachs@net.in.tum.de> | 2011-12-20 15:48:22 +0000 |
---|---|---|
committer | Matthias Wachs <wachs@net.in.tum.de> | 2011-12-20 15:48:22 +0000 |
commit | f6078a3ab989e69e1126689b88d0c7483c43db84 (patch) | |
tree | de5613db19c35bcfc0ff081b91fc2eac6e59cf04 /src/transport/transport_api.c | |
parent | 4a2c36e42252c354e3e67d7cb92f3c6dbc514f9a (diff) | |
download | gnunet-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.c | 4 |
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); |