From: lurchi Date: Tue, 23 Jan 2018 08:09:27 +0000 (+0100) Subject: catch early return of select before call to GNUNET_SCHEDULER_run_from_driver X-Git-Tag: v0.11.0pre66~233 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=f0140aa59e7e6570deec0cde35fc0147ee1292cb;p=oweals%2Fgnunet.git catch early return of select before call to GNUNET_SCHEDULER_run_from_driver --- 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 @@ #include "platform.h" #include "gnunet_util_lib.h" #include "disk.h" +// DEBUG +#include #define LOG(kind,...) GNUNET_log_from (kind, "util-scheduler", __VA_ARGS__) @@ -2333,6 +2335,19 @@ select_loop (void *cls, } } } + else + { + struct GNUNET_TIME_Absolute now = GNUNET_TIME_absolute_get (); + if (now.abs_value_us < context->timeout.abs_value_us) + { + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + "select was expected to return at %" PRIu64 ", " + "but returned already at %" PRIu64 "\n", + context->timeout.abs_value_us, + now.abs_value_us); + GNUNET_assert (0); + } + } tasks_ready = GNUNET_SCHEDULER_run_from_driver (sh); GNUNET_assert (GNUNET_SYSERR != tasks_ready); }