diff --git a/core/threaded/reactor_threaded.c b/core/threaded/reactor_threaded.c index 61ab5a44a..6a685b4fa 100644 --- a/core/threaded/reactor_threaded.c +++ b/core/threaded/reactor_threaded.c @@ -196,7 +196,7 @@ void lf_set_present(lf_port_base_t* port) { } bool wait_until(instant_t wait_until_time, lf_cond_t* condition) { - if (!fast) { + if (!fast || (wait_until_time == FOREVER && keepalive_specified)) { LF_PRINT_DEBUG("-------- Waiting until physical time " PRINTF_TIME, wait_until_time - start_time); // Check whether we actually need to wait, or if we have already passed the timepoint. interval_t wait_duration = wait_until_time - lf_time_physical();