diff options
author | Christian Grothoff <christian@grothoff.org> | 2011-11-05 14:46:54 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2011-11-05 14:46:54 +0000 |
commit | b730f77294aaaff4761e42804deda8c22caf4771 (patch) | |
tree | 7fddcc8098dc95df74b19cf0eb49c98764972186 /src/transport/gnunet-service-transport_neighbours.c | |
parent | 3d5df056b88437f21d713cb3a413fab874b56677 (diff) | |
download | gnunet-b730f77294aaaff4761e42804deda8c22caf4771.tar.gz gnunet-b730f77294aaaff4761e42804deda8c22caf4771.zip |
LRN: Call-transport-disconnect-to-clear-session-message-q.patch:
This was submitted to #1880, but i'm including this here as well.
Diffstat (limited to 'src/transport/gnunet-service-transport_neighbours.c')
-rw-r--r-- | src/transport/gnunet-service-transport_neighbours.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/transport/gnunet-service-transport_neighbours.c b/src/transport/gnunet-service-transport_neighbours.c index e0af12b3c..14987d6de 100644 --- a/src/transport/gnunet-service-transport_neighbours.c +++ b/src/transport/gnunet-service-transport_neighbours.c | |||
@@ -862,6 +862,14 @@ disconnect_neighbour (struct NeighbourMapEntry *n) | |||
862 | return; | 862 | return; |
863 | change_state (n, S_DISCONNECT); | 863 | change_state (n, S_DISCONNECT); |
864 | 864 | ||
865 | if (n->plugin_name != NULL) | ||
866 | { | ||
867 | struct GNUNET_TRANSPORT_PluginFunctions *papi; | ||
868 | papi = GST_plugins_find (n->plugin_name); | ||
869 | if (papi != NULL) | ||
870 | papi->disconnect (papi->cls, &n->id); | ||
871 | } | ||
872 | |||
865 | while (NULL != (mq = n->messages_head)) | 873 | while (NULL != (mq = n->messages_head)) |
866 | { | 874 | { |
867 | GNUNET_CONTAINER_DLL_remove (n->messages_head, n->messages_tail, mq); | 875 | GNUNET_CONTAINER_DLL_remove (n->messages_head, n->messages_tail, mq); |