From: Bart Polot Date: Fri, 24 Feb 2012 15:57:13 +0000 (+0000) Subject: - Fixed crashes when ctrl-c testcases X-Git-Tag: initial-import-from-subversion-38251~14660 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=3c30d9be2e4c02b9d7a94191ad050fd83a011e09;p=oweals%2Fgnunet.git - Fixed crashes when ctrl-c testcases --- diff --git a/src/dht/test_dht_multipeer.c b/src/dht/test_dht_multipeer.c index 8aba2743d..b8da82a2d 100644 --- a/src/dht/test_dht_multipeer.c +++ b/src/dht/test_dht_multipeer.c @@ -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; diff --git a/src/dht/test_dht_topo.c b/src/dht/test_dht_topo.c index a4f150ef5..38d9bffad 100644 --- a/src/dht/test_dht_topo.c +++ b/src/dht/test_dht_topo.c @@ -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); }