aboutsummaryrefslogtreecommitdiff
path: root/src/util/program.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/util/program.c')
-rw-r--r--src/util/program.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/util/program.c b/src/util/program.c
index 01a8b496a1..5cd129b472 100644
--- a/src/util/program.c
+++ b/src/util/program.c
@@ -78,6 +78,7 @@ GNUNET_SPEEDUP_start_ (const struct GNUNET_CONFIGURATION_Handle *cfg);
int
GNUNET_SPEEDUP_stop_ (void);
+
/**
* Initial task called by the scheduler for each
* program. Runs the program-specific main task.
@@ -86,8 +87,10 @@ static void
program_main (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
{
struct CommandContext *cc = cls;
- GNUNET_SPEEDUP_start_(cc->cfg);
+ if (0 != (GNUNET_SCHEDULER_REASON_SHUTDOWN & tc->reason))
+ return;
+ GNUNET_SPEEDUP_start_(cc->cfg);
GNUNET_RESOLVER_connect (cc->cfg);
cc->task (cc->task_cls, cc->args, cc->cfgfile, cc->cfg);
}