From 142995b03280a34f8c0b70e9a6625790e8cd7bfa Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Mon, 19 Apr 2010 11:00:23 +0000 Subject: [PATCH] fixing shutdown --- src/fs/gnunet-service-fs_drq.c | 16 +++++++++++----- src/fs/test_fs_test_lib.c | 1 + 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/fs/gnunet-service-fs_drq.c b/src/fs/gnunet-service-fs_drq.c index 43e138e13..8edcacf3d 100644 --- a/src/fs/gnunet-service-fs_drq.c +++ b/src/fs/gnunet-service-fs_drq.c @@ -310,11 +310,17 @@ shutdown_task (void *cls, drq_tail = NULL; if (drq_running != NULL) { - GNUNET_SCHEDULER_cancel (sched, - drq_running->task); - drq_running->iter (drq_running->iter_cls, - NULL, 0, NULL, 0, 0, 0, - GNUNET_TIME_UNIT_ZERO_ABS, 0); + if (drq_running->task != GNUNET_SCHEDULER_NO_TASK) + { + GNUNET_SCHEDULER_cancel (sched, + drq_running->task); + } + if (drq_running->iter != NULL) + { + drq_running->iter (drq_running->iter_cls, + NULL, 0, NULL, 0, 0, 0, + GNUNET_TIME_UNIT_ZERO_ABS, 0); + } GNUNET_free (drq_running); drq_running = NULL; } diff --git a/src/fs/test_fs_test_lib.c b/src/fs/test_fs_test_lib.c index b575e68c7..da00e6e5e 100644 --- a/src/fs/test_fs_test_lib.c +++ b/src/fs/test_fs_test_lib.c @@ -105,6 +105,7 @@ do_publish (void *cls, GNUNET_SCHEDULER_add_now (sched, &do_stop, NULL); + return; } GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Publishing %llu bytes\n", -- 2.25.1