continue to fix extract result
[oweals/gnunet.git] / src / dht / gnunet-service-dht_neighbours.c
index 097253d069d9e63d2628e862ef7fb11cff6e37d6..8ab39c9aaf71d132c8ec3c459197e416b82004e0 100644 (file)
@@ -1,6 +1,6 @@
 /*
      This file is part of GNUnet.
-     Copyright (C) 2009-2015 Christian Grothoff (and other contributing authors)
+     Copyright (C) 2009-2015 GNUnet e.V.
 
      GNUnet is free software; you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published
@@ -492,11 +492,9 @@ find_bucket (const struct GNUNET_HashCode *hc)
  * Clean up the "oh" field in the @a cls
  *
  * @param cls a `struct ConnectInfo`
- * @param tc unused
  */
 static void
-offer_hello_done (void *cls,
-                  const struct GNUNET_SCHEDULER_TaskContext *tc)
+offer_hello_done (void *cls)
 {
   struct ConnectInfo *ci = cls;
 
@@ -517,7 +515,7 @@ free_connect_info (void *cls,
                    const struct GNUNET_PeerIdentity *peer,
                    void *value)
 {
-  struct ConnectInfo *ci = cls;
+  struct ConnectInfo *ci = value;
 
   GNUNET_assert (GNUNET_YES ==
                  GNUNET_CONTAINER_multipeermap_remove (all_desired_peers,
@@ -586,7 +584,14 @@ try_connect (const struct GNUNET_PeerIdentity *pid,
     return;
   }
   if (NULL == ci)
+  {
     ci = GNUNET_new (struct ConnectInfo);
+    GNUNET_assert (GNUNET_OK ==
+                   GNUNET_CONTAINER_multipeermap_put (all_desired_peers,
+                                                      pid,
+                                                      ci,
+                                                      GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_ONLY));
+  }
   if ( (NULL != GDS_transport_handle) &&
        (NULL != ci->oh) &&
        (NULL != h) )
@@ -700,19 +705,15 @@ add_known_to_bloom (void *cls,
  * and attempt to connect to them.
  *
  * @param cls closure for this task
- * @param tc the context under which the task is running
  */
 static void
-send_find_peer_message (void *cls,
-                        const struct GNUNET_SCHEDULER_TaskContext *tc)
+send_find_peer_message (void *cls)
 {
   struct GNUNET_TIME_Relative next_send_time;
   struct BloomConstructorContext bcc;
   struct GNUNET_CONTAINER_BloomFilter *peer_bf;
 
   find_peer_task = NULL;
-  if ((tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN) != 0)
-    return;
   if (newly_found_peers > bucket_size)
   {
     /* If we are finding many peers already, no need to send out our request right now! */
@@ -2438,6 +2439,7 @@ GDS_NEIGHBOURS_done ()
   }
 }
 
+
 /**
  * Get the ID of the local node.
  *