From b175cce4bac2bea3476f84633d00f3d8496f575a Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Mon, 27 Feb 2012 22:19:40 +0000 Subject: [PATCH] -fixing bogus assertion and improving error handling --- src/core/gnunet-service-core_kx.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/core/gnunet-service-core_kx.c b/src/core/gnunet-service-core_kx.c index 38a5af9a4..c2acc6b23 100644 --- a/src/core/gnunet-service-core_kx.c +++ b/src/core/gnunet-service-core_kx.c @@ -603,6 +603,9 @@ process_hello (void *cls, const struct GNUNET_PeerIdentity *peer, GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, _("Error in communication with PEERINFO service\n")); kx->pitr = NULL; + kx->retry_set_key_task = + GNUNET_SCHEDULER_add_delayed (kx->set_key_retry_frequency, + &set_key_retry_task, kx); return; } if (peer == NULL) @@ -1155,9 +1158,11 @@ GSC_KX_handle_pong (struct GSC_KeyExchangeInfo *kx, GNUNET_NO); kx->status = KX_STATE_UP; GSC_SESSIONS_create (&kx->peer, kx); - GNUNET_assert (kx->retry_set_key_task != GNUNET_SCHEDULER_NO_TASK); - GNUNET_SCHEDULER_cancel (kx->retry_set_key_task); - kx->retry_set_key_task = GNUNET_SCHEDULER_NO_TASK; + if (GNUNET_SCHEDULER_NO_TASK != kx->retry_set_key_task) + { + GNUNET_SCHEDULER_cancel (kx->retry_set_key_task); + kx->retry_set_key_task = GNUNET_SCHEDULER_NO_TASK; + } GNUNET_assert (kx->keep_alive_task == GNUNET_SCHEDULER_NO_TASK); if (kx->emsg_received != NULL) { -- 2.25.1