Commit 070064de authored by David Goulet's avatar David Goulet 🐼
Browse files

sched: Always initialize scheduler_last_run to now



Because our monotonic time interface doesn't play well with value set to 0,
always initialize to now() the scheduler_last_run at init() of the KIST
scheduler.

Fixes #23696

Signed-off-by: David Goulet's avatarDavid Goulet <dgoulet@torproject.org>
parent fc6c0b46
Loading
Loading
Loading
Loading

changes/bug23696

0 → 100644
+3 −0
Original line number Diff line number Diff line
  o Minor bugfixes (scheduler, kist):
    - Properly initialize the scheduler last run time counter so it is not 0
      at the first tick. Fixes bug 23696; bugfix on 0.3.2.1-alpha.
+10 −0
Original line number Diff line number Diff line
@@ -490,6 +490,16 @@ kist_scheduler_on_new_options(void)
static void
kist_scheduler_init(void)
{
  /* When initializing the scheduler, the last run could be 0 because it is
   * declared static or a value in the past that was set when it was last
   * used. In both cases, we want to initialize it to now so we don't risk
   * using the value 0 which doesn't play well with our monotonic time
   * interface.
   *
   * One side effect is that the first scheduler run will be at the next tick
   * that is in now + 10 msec (KIST_SCHED_RUN_INTERVAL_DEFAULT) by default. */
  monotime_get(&scheduler_last_run);

  kist_scheduler_on_new_options();
  IF_BUG_ONCE(sched_run_interval == 0) {
    log_warn(LD_SCHED, "We are initing the KIST scheduler and noticed the "