gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r34182 - gnunet/src/dht


From: gnunet
Subject: [GNUnet-SVN] r34182 - gnunet/src/dht
Date: Wed, 20 Aug 2014 15:40:10 +0200

Author: harsha
Date: 2014-08-20 15:40:10 +0200 (Wed, 20 Aug 2014)
New Revision: 34182

Modified:
   gnunet/src/dht/gnunet_dht_profiler.c
Log:
Mark operations as done when they are finished.


Modified: gnunet/src/dht/gnunet_dht_profiler.c
===================================================================
--- gnunet/src/dht/gnunet_dht_profiler.c        2014-08-20 13:14:03 UTC (rev 
34181)
+++ gnunet/src/dht/gnunet_dht_profiler.c        2014-08-20 13:40:10 UTC (rev 
34182)
@@ -480,12 +480,16 @@
 cancel_get (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
 {
   struct ActiveContext *ac = cls;
+  struct Context *ctx = ac->ctx;
 
   ac->delay_task = GNUNET_SCHEDULER_NO_TASK;
   GNUNET_assert (NULL != ac->dht_get);
   GNUNET_DHT_get_stop (ac->dht_get);
   ac->dht_get = NULL;
   n_gets_fail++;
+  GNUNET_assert (NULL != ctx->op);
+  GNUNET_TESTBED_operation_done (ctx->op);
+  ctx->op = NULL;
 
   /* If profiling is complete, summarize */
   if (n_active == n_gets_fail + n_gets_ok)
@@ -524,6 +528,7 @@
 {
   struct ActiveContext *ac = cls;
   struct ActiveContext *get_ac = ac->get_ac;
+  struct Context *ctx = ac->ctx;
 
   /* Check the keys of put and get match or not. */
   GNUNET_assert (0 == memcmp (key, &get_ac->hash, sizeof (struct 
GNUNET_HashCode)));
@@ -535,6 +540,9 @@
   ac->dht_get = NULL;
   GNUNET_SCHEDULER_cancel (ac->delay_task);
   ac->delay_task = GNUNET_SCHEDULER_NO_TASK;
+  GNUNET_assert (NULL != ctx->op);
+  GNUNET_TESTBED_operation_done (ctx->op);
+  ctx->op = NULL;
   
   total_put_path_length = total_put_path_length + put_path_length;
   total_get_path_length = total_get_path_length + get_path_length;
@@ -763,7 +771,10 @@
   struct GNUNET_HashCode *start_val;
   int count = 0;
   struct GNUNET_HashCode *key;
-  
+
+  successor_stats_task = GNUNET_SCHEDULER_NO_TASK;
+  GNUNET_TESTBED_operation_done (successor_stats_op);
+  successor_stats_op = NULL;
   start_val =(struct GNUNET_HashCode *) 
GNUNET_CONTAINER_multihashmap_get(successor_peer_hashmap,
                                                 start_key);
 
@@ -782,12 +793,6 @@
   if (start_val == val)
   {
     DEBUG("CIRCLE COMPLETED after %u tries", tries);
-    if (GNUNET_SCHEDULER_NO_TASK != successor_stats_task)
-    {
-      successor_stats_task = GNUNET_SCHEDULER_NO_TASK;
-      //FIXME: free hashmap. 
-    }
-    successor_stats_op = NULL;
     
     if(GNUNET_SCHEDULER_NO_TASK == successor_stats_task)
     {
@@ -809,7 +814,6 @@
         successor_stats_task = GNUNET_SCHEDULER_NO_TASK;
         //FIXME: free hashmap
       }
-      successor_stats_op = NULL;
       
       if(GNUNET_SCHEDULER_NO_TASK == successor_stats_task)
       {
@@ -906,7 +910,7 @@
                                           successor_stats_iterator, 
                                           successor_stats_cont, cls);
   
-  GNUNET_assert(successor_stats_op);
+  GNUNET_assert(NULL != successor_stats_op);
 }
 
 /**




reply via email to

[Prev in Thread] Current Thread [Next in Thread]