From 94580a0da287a5e9cb095e68f6344ad1fe39f1b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A0=D1=83=D1=81=D0=BB=D0=B0=D0=BD=20=D0=98=D0=B6=D0=B1=D1?= =?UTF-8?q?=83=D0=BB=D0=B0=D1=82=D0=BE=D0=B2?= Date: Sat, 5 Nov 2011 01:48:28 +0400 Subject: [PATCH] Call transport disconnect to clear session message queue --- .../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 e0af12b..14987d6 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) return; change_state (n, S_DISCONNECT); + if (n->plugin_name != NULL) + { + struct GNUNET_TRANSPORT_PluginFunctions *papi; + papi = GST_plugins_find (n->plugin_name); + if (papi != NULL) + papi->disconnect (papi->cls, &n->id); + } + while (NULL != (mq = n->messages_head)) { GNUNET_CONTAINER_DLL_remove (n->messages_head, n->messages_tail, mq); -- 1.7.4