-fixing #2195
authorChristian Grothoff <christian@grothoff.org>
Fri, 9 Mar 2012 13:23:28 +0000 (13:23 +0000)
committerChristian Grothoff <christian@grothoff.org>
Fri, 9 Mar 2012 13:23:28 +0000 (13:23 +0000)
src/core/gnunet-service-core_kx.c
src/core/gnunet-service-core_neighbours.c

index c2acc6b23e68754150c4c9088c9934da23f2437c..ae6b7a183d5135f5a156809f508e860a772114a0 100644 (file)
@@ -603,6 +603,8 @@ 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;
+    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_add_delayed (kx->set_key_retry_frequency,
                                       &set_key_retry_task, kx);
@@ -622,6 +624,8 @@ process_hello (void *cls, const struct GNUNET_PeerIdentity *peer,
                               gettext_noop
                               ("# Delayed connecting due to lack of public key"),
                               1, GNUNET_NO);
+    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_add_delayed (kx->set_key_retry_frequency,
                                       &set_key_retry_task, kx);
index c4db40aa2b2f347ba42b00801036e2e6e4393854..538f38283fd108fdc0116882ca09681de9f1b251 100644 (file)
@@ -129,6 +129,8 @@ static struct GNUNET_TRANSPORT_Handle *transport;
 static struct Neighbour *
 find_neighbour (const struct GNUNET_PeerIdentity *peer)
 {
+  if (NULL == neighbours)
+    return NULL;
   return GNUNET_CONTAINER_multihashmap_get (neighbours, &peer->hashPubKey);
 }