- Fixed crashes when ctrl-c testcases
authorBart Polot <bart@net.in.tum.de>
Fri, 24 Feb 2012 15:57:13 +0000 (15:57 +0000)
committerBart Polot <bart@net.in.tum.de>
Fri, 24 Feb 2012 15:57:13 +0000 (15:57 +0000)
src/dht/test_dht_multipeer.c
src/dht/test_dht_topo.c

index 8aba2743d0f87a0c40ca2ebc04012fbf22bb5d41..b8da82a2dcfbe1b46722a537a76b2b9dba605005 100644 (file)
@@ -664,7 +664,10 @@ put_finished (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
 
   outstanding_puts--;
   puts_completed++;
-  GNUNET_SCHEDULER_cancel (test_put->task);
+  if (GNUNET_SCHEDULER_NO_TASK != test_put->task)
+  {
+    GNUNET_SCHEDULER_cancel (test_put->task);
+  }
   test_put->task = GNUNET_SCHEDULER_add_now (&put_disconnect_task, test_put);
   if (puts_completed != num_peers * num_peers)
     return;
@@ -716,6 +719,11 @@ run_dht_test (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
   unsigned long long i;
   struct TestPutContext *test_put;
 
+  if ((tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN) != 0)
+  {
+    ok = 1;
+    return;
+  }
 #if PATH_TRACKING
   route_option =
       GNUNET_DHT_RO_RECORD_ROUTE | GNUNET_DHT_RO_DEMULTIPLEX_EVERYWHERE;
index a4f150ef5dbd2d69204333f29c730b3d81fc0aae..38d9bffad145f12644cf2810aa420ad0b129787e 100644 (file)
@@ -155,6 +155,7 @@ shutdown_callback (void *cls, const char *emsg)
                 "test: All peers successfully shut down!\n");
 #endif
   }
+  GNUNET_CONFIGURATION_destroy (testing_cfg);
 }
 
 
@@ -174,7 +175,6 @@ shutdown_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
   if (data_file != NULL)
     GNUNET_DISK_file_close (data_file);
   GNUNET_TESTING_daemons_stop (pg, TIMEOUT, &shutdown_callback, NULL);
-  GNUNET_CONFIGURATION_destroy (testing_cfg);
 }