From 4635febe06869734d07a30fa308c7e2cd87c3ef9 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Fri, 17 Jun 2011 10:03:36 +0000 Subject: fix 1698 --- src/core/gnunet-service-core.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/core/gnunet-service-core.c') diff --git a/src/core/gnunet-service-core.c b/src/core/gnunet-service-core.c index 19758c5b3..a7f6f8939 100644 --- a/src/core/gnunet-service-core.c +++ b/src/core/gnunet-service-core.c @@ -2030,6 +2030,11 @@ process_encrypted_neighbour_queue (struct Neighbour *n) if (n->th != NULL) return; /* request already pending */ + if (GNUNET_YES != n->is_connected) + { + GNUNET_break (0); + return; + } m = n->encrypted_head; if (m == NULL) { @@ -4522,6 +4527,11 @@ handle_transport_notify_disconnect (void *cls, GNUNET_TRANSPORT_notify_transmit_ready_cancel (n->th); n->th = NULL; } + if (GNUNET_SCHEDULER_NO_TASK != n->keep_alive_task) + { + GNUNET_SCHEDULER_cancel (n->keep_alive_task); + n->keep_alive_task = GNUNET_SCHEDULER_NO_TASK; + } n->is_connected = GNUNET_NO; n->status = PEER_STATE_DOWN; while (NULL != (car = n->active_client_request_head)) -- cgit v1.2.3