aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/dht/gnunet_dht_profiler.c22
1 files changed, 13 insertions, 9 deletions
diff --git a/src/dht/gnunet_dht_profiler.c b/src/dht/gnunet_dht_profiler.c
index 7854ac319..2f7fdde77 100644
--- a/src/dht/gnunet_dht_profiler.c
+++ b/src/dht/gnunet_dht_profiler.c
@@ -480,12 +480,16 @@ static void
480cancel_get (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) 480cancel_get (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
481{ 481{
482 struct ActiveContext *ac = cls; 482 struct ActiveContext *ac = cls;
483 struct Context *ctx = ac->ctx;
483 484
484 ac->delay_task = GNUNET_SCHEDULER_NO_TASK; 485 ac->delay_task = GNUNET_SCHEDULER_NO_TASK;
485 GNUNET_assert (NULL != ac->dht_get); 486 GNUNET_assert (NULL != ac->dht_get);
486 GNUNET_DHT_get_stop (ac->dht_get); 487 GNUNET_DHT_get_stop (ac->dht_get);
487 ac->dht_get = NULL; 488 ac->dht_get = NULL;
488 n_gets_fail++; 489 n_gets_fail++;
490 GNUNET_assert (NULL != ctx->op);
491 GNUNET_TESTBED_operation_done (ctx->op);
492 ctx->op = NULL;
489 493
490 /* If profiling is complete, summarize */ 494 /* If profiling is complete, summarize */
491 if (n_active == n_gets_fail + n_gets_ok) 495 if (n_active == n_gets_fail + n_gets_ok)
@@ -524,6 +528,7 @@ get_iter (void *cls,
524{ 528{
525 struct ActiveContext *ac = cls; 529 struct ActiveContext *ac = cls;
526 struct ActiveContext *get_ac = ac->get_ac; 530 struct ActiveContext *get_ac = ac->get_ac;
531 struct Context *ctx = ac->ctx;
527 532
528 /* Check the keys of put and get match or not. */ 533 /* Check the keys of put and get match or not. */
529 GNUNET_assert (0 == memcmp (key, &get_ac->hash, sizeof (struct GNUNET_HashCode))); 534 GNUNET_assert (0 == memcmp (key, &get_ac->hash, sizeof (struct GNUNET_HashCode)));
@@ -535,6 +540,9 @@ get_iter (void *cls,
535 ac->dht_get = NULL; 540 ac->dht_get = NULL;
536 GNUNET_SCHEDULER_cancel (ac->delay_task); 541 GNUNET_SCHEDULER_cancel (ac->delay_task);
537 ac->delay_task = GNUNET_SCHEDULER_NO_TASK; 542 ac->delay_task = GNUNET_SCHEDULER_NO_TASK;
543 GNUNET_assert (NULL != ctx->op);
544 GNUNET_TESTBED_operation_done (ctx->op);
545 ctx->op = NULL;
538 546
539 total_put_path_length = total_put_path_length + put_path_length; 547 total_put_path_length = total_put_path_length + put_path_length;
540 total_get_path_length = total_get_path_length + get_path_length; 548 total_get_path_length = total_get_path_length + get_path_length;
@@ -763,7 +771,10 @@ successor_stats_cont (void *cls,
763 struct GNUNET_HashCode *start_val; 771 struct GNUNET_HashCode *start_val;
764 int count = 0; 772 int count = 0;
765 struct GNUNET_HashCode *key; 773 struct GNUNET_HashCode *key;
766 774
775 successor_stats_task = GNUNET_SCHEDULER_NO_TASK;
776 GNUNET_TESTBED_operation_done (successor_stats_op);
777 successor_stats_op = NULL;
767 start_val =(struct GNUNET_HashCode *) GNUNET_CONTAINER_multihashmap_get(successor_peer_hashmap, 778 start_val =(struct GNUNET_HashCode *) GNUNET_CONTAINER_multihashmap_get(successor_peer_hashmap,
768 start_key); 779 start_key);
769 780
@@ -782,12 +793,6 @@ successor_stats_cont (void *cls,
782 if (start_val == val) 793 if (start_val == val)
783 { 794 {
784 DEBUG("CIRCLE COMPLETED after %u tries", tries); 795 DEBUG("CIRCLE COMPLETED after %u tries", tries);
785 if (GNUNET_SCHEDULER_NO_TASK != successor_stats_task)
786 {
787 successor_stats_task = GNUNET_SCHEDULER_NO_TASK;
788 //FIXME: free hashmap.
789 }
790 successor_stats_op = NULL;
791 796
792 if(GNUNET_SCHEDULER_NO_TASK == successor_stats_task) 797 if(GNUNET_SCHEDULER_NO_TASK == successor_stats_task)
793 { 798 {
@@ -809,7 +814,6 @@ successor_stats_cont (void *cls,
809 successor_stats_task = GNUNET_SCHEDULER_NO_TASK; 814 successor_stats_task = GNUNET_SCHEDULER_NO_TASK;
810 //FIXME: free hashmap 815 //FIXME: free hashmap
811 } 816 }
812 successor_stats_op = NULL;
813 817
814 if(GNUNET_SCHEDULER_NO_TASK == successor_stats_task) 818 if(GNUNET_SCHEDULER_NO_TASK == successor_stats_task)
815 { 819 {
@@ -906,7 +910,7 @@ collect_stats (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
906 successor_stats_iterator, 910 successor_stats_iterator,
907 successor_stats_cont, cls); 911 successor_stats_cont, cls);
908 912
909 GNUNET_assert(successor_stats_op); 913 GNUNET_assert(NULL != successor_stats_op);
910} 914}
911 915
912/** 916/**