From: Christian Grothoff Date: Mon, 27 Feb 2012 22:19:40 +0000 (+0000) Subject: -fixing bogus assertion and improving error handling X-Git-Tag: initial-import-from-subversion-38251~14592 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=b175cce4bac2bea3476f84633d00f3d8496f575a;p=oweals%2Fgnunet.git -fixing bogus assertion and improving error handling --- 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) {