diff options
author | lurchi <lurchi@strangeplace.net> | 2018-01-23 09:09:27 +0100 |
---|---|---|
committer | lurchi <lurchi@strangeplace.net> | 2018-01-23 09:09:27 +0100 |
commit | f0140aa59e7e6570deec0cde35fc0147ee1292cb (patch) | |
tree | d9ad98f8794e089d47c7dddb593928425c31f311 /src/util/scheduler.c | |
parent | 8b64a2ffd097e1f02c6d6de3d3bd6ce75a7206f6 (diff) | |
download | gnunet-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.c | 15 |
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 | } |