mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-27 22:03:31 +01:00
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 <dgoulet@torproject.org>
This commit is contained in:
parent
fc6c0b46fb
commit
070064de89
3
changes/bug23696
Normal file
3
changes/bug23696
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
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.
|
@ -490,6 +490,16 @@ kist_scheduler_on_new_options(void)
|
|||||||
static void
|
static void
|
||||||
kist_scheduler_init(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();
|
kist_scheduler_on_new_options();
|
||||||
IF_BUG_ONCE(sched_run_interval == 0) {
|
IF_BUG_ONCE(sched_run_interval == 0) {
|
||||||
log_warn(LD_SCHED, "We are initing the KIST scheduler and noticed the "
|
log_warn(LD_SCHED, "We are initing the KIST scheduler and noticed the "
|
||||||
|
Loading…
Reference in New Issue
Block a user