X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Fats-tests%2Fats-testing-experiment.c;h=d55adc2d74e5d9ceb07c37fa1292c8902967af9a;hb=7067d8df58abce4636ff94cd3621aee9de1ab594;hp=54c7675d7d09f93db321675332688a6b1728ebb8;hpb=46430c183d3997aca16602c40ac8f0b4280d9966;p=oweals%2Fgnunet.git diff --git a/src/ats-tests/ats-testing-experiment.c b/src/ats-tests/ats-testing-experiment.c index 54c7675d7..d55adc2d7 100644 --- a/src/ats-tests/ats-testing-experiment.c +++ b/src/ats-tests/ats-testing-experiment.c @@ -259,6 +259,12 @@ timeout_experiment (void *cls, const struct GNUNET_SCHEDULER_TaskContext* tc) e->experiment_timeout_task = GNUNET_SCHEDULER_NO_TASK; fprintf (stderr, "Experiment timeout!\n"); + if (GNUNET_SCHEDULER_NO_TASK != e->episode_timeout_task) + { + e->episode_timeout_task = GNUNET_SCHEDULER_NO_TASK; + GNUNET_SCHEDULER_cancel (e->episode_timeout_task); + } + e->e_done_cb (e, GNUNET_TIME_absolute_get_duration(e->start_time), GNUNET_SYSERR); } @@ -319,7 +325,8 @@ timeout_episode (void *cls, const struct GNUNET_SCHEDULER_TaskContext* tc) { struct Experiment *e = cls; e->episode_timeout_task = GNUNET_SCHEDULER_NO_TASK; - e->ep_done_cb (e->cur); + if (NULL != e->ep_done_cb) + e->ep_done_cb (e->cur); /* Scheduling next */ e->cur = e->cur->next;