aboutsummaryrefslogtreecommitdiff
path: root/src/util/scheduler.c
diff options
context:
space:
mode:
authorlurchi <lurchi@strangeplace.net>2018-01-23 09:09:27 +0100
committerlurchi <lurchi@strangeplace.net>2018-01-23 09:09:27 +0100
commitf0140aa59e7e6570deec0cde35fc0147ee1292cb (patch)
treed9ad98f8794e089d47c7dddb593928425c31f311 /src/util/scheduler.c
parent8b64a2ffd097e1f02c6d6de3d3bd6ce75a7206f6 (diff)
downloadgnunet-f0140aa59e7e6570deec0cde35fc0147ee1292cb.tar.gz
gnunet-f0140aa59e7e6570deec0cde35fc0147ee1292cb.zip
catch early return of select before call to GNUNET_SCHEDULER_run_from_driver
Diffstat (limited to 'src/util/scheduler.c')
-rw-r--r--src/util/scheduler.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/util/scheduler.c b/src/util/scheduler.c
index 6a1b1a22d..a8d572a56 100644
--- a/src/util/scheduler.c
+++ b/src/util/scheduler.c
@@ -25,6 +25,8 @@
25#include "platform.h" 25#include "platform.h"
26#include "gnunet_util_lib.h" 26#include "gnunet_util_lib.h"
27#include "disk.h" 27#include "disk.h"
28// DEBUG
29#include <inttypes.h>
28 30
29#define LOG(kind,...) GNUNET_log_from (kind, "util-scheduler", __VA_ARGS__) 31#define LOG(kind,...) GNUNET_log_from (kind, "util-scheduler", __VA_ARGS__)
30 32
@@ -2333,6 +2335,19 @@ select_loop (void *cls,
2333 } 2335 }
2334 } 2336 }
2335 } 2337 }
2338 else
2339 {
2340 struct GNUNET_TIME_Absolute now = GNUNET_TIME_absolute_get ();
2341 if (now.abs_value_us < context->timeout.abs_value_us)
2342 {
2343 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
2344 "select was expected to return at %" PRIu64 ", "
2345 "but returned already at %" PRIu64 "\n",
2346 context->timeout.abs_value_us,
2347 now.abs_value_us);
2348 GNUNET_assert (0);
2349 }
2350 }
2336 tasks_ready = GNUNET_SCHEDULER_run_from_driver (sh); 2351 tasks_ready = GNUNET_SCHEDULER_run_from_driver (sh);
2337 GNUNET_assert (GNUNET_SYSERR != tasks_ready); 2352 GNUNET_assert (GNUNET_SYSERR != tasks_ready);
2338 } 2353 }