MINOR: task: always preinitialize the task's timeout in task_init()
task_init() is called exclusively by task_new() which is the only way to create a task. Most callers set t->expire to TICK_ETERNITY, some set it to another value and a few like Lua don't set it at all as they don't need a timeout, causing random values to be used in case the task gets queued. Let's always set t->expire to TICK_ETERNITY in task_init() so that all tasks are now initialized in a clean state. This patch can be backported as it will definitely make the code more robust (at least the Lua code, possibly other places).
This commit is contained in:
parent
bd7fc95edb
commit
f42199975c
@ -184,6 +184,7 @@ static inline struct task *task_init(struct task *t)
|
||||
t->pending_state = t->state = TASK_SLEEPING;
|
||||
t->nice = 0;
|
||||
t->calls = 0;
|
||||
t->expire = TICK_ETERNITY;
|
||||
return t;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user