Properly propagate vector allocated in advance_cpu_time_base() for a
special case, when the expired_user_data parameter passed to
timing_wheel_advance() is NULL and the only expired event is in the
overflow pool.
Change-Id: I5cefab0e881958334791aaa6354ec08225af23c1
Signed-off-by: Klement Sekera <ksekera@cisco.com>
}
/* Called rarely. 32 bit times should only overflow every 4 seconds or so on a fast machine. */
-static void
+static u32 *
advance_cpu_time_base (timing_wheel_t * w, u32 * expired_user_data)
{
timing_wheel_level_t *l;
}));
/* *INDENT-ON* */
}
+ return expired_user_data;
}
static u32 *
/* Don't advance until necessary. */
while (PREDICT_FALSE
(advance_time_index >= w->time_index_next_cpu_time_base_update))
- advance_cpu_time_base (w, expired_user_data);
+ expired_user_data = advance_cpu_time_base (w, expired_user_data);
if (next_expiring_element_cpu_time)
{