summaryrefslogtreecommitdiff
path: root/src/util/helper.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/util/helper.c')
-rw-r--r--src/util/helper.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/util/helper.c b/src/util/helper.c
index c89f1ecb5..4187b819c 100644
--- a/src/util/helper.c
+++ b/src/util/helper.c
@@ -276,8 +276,16 @@ GNUNET_HELPER_wait (struct GNUNET_HELPER_Handle *h)
276static void 276static void
277stop_helper (struct GNUNET_HELPER_Handle *h, int soft_kill) 277stop_helper (struct GNUNET_HELPER_Handle *h, int soft_kill)
278{ 278{
279 GNUNET_break (GNUNET_OK == GNUNET_HELPER_kill (h, soft_kill)); 279 if (GNUNET_SCHEDULER_NO_TASK != h->restart_task)
280 GNUNET_break (GNUNET_OK == GNUNET_HELPER_wait (h)); 280 {
281 GNUNET_SCHEDULER_cancel (h->restart_task);
282 h->restart_task = GNUNET_SCHEDULER_NO_TASK;
283 }
284 else
285 {
286 GNUNET_break (GNUNET_OK == GNUNET_HELPER_kill (h, soft_kill));
287 GNUNET_break (GNUNET_OK == GNUNET_HELPER_wait (h));
288 }
281} 289}
282 290
283 291