mirror of
https://github.com/haproxy/haproxy.git
synced 2026-04-25 08:10:54 -04:00
BUG/MINOR: lua: Init the lua wake_time value before calling a lua function
The wake_time of a lua context is now always set to TICK_ETERNITY when the context is initialized and when everytime the execution of the lua stack is started. It is mandatory to not set arbitrary wake_time when an action yields. No backport needed.
This commit is contained in:
parent
501465d94b
commit
bc275a9e44
1 changed files with 3 additions and 1 deletions
|
|
@ -907,6 +907,7 @@ int hlua_ctx_init(struct hlua *lua, struct task *task, int already_safe)
|
|||
lua->Mref = LUA_REFNIL;
|
||||
lua->flags = 0;
|
||||
lua->gc_count = 0;
|
||||
lua->wake_time = TICK_ETERNITY;
|
||||
LIST_INIT(&lua->com);
|
||||
lua->T = lua_newthread(gL.T);
|
||||
if (!lua->T) {
|
||||
|
|
@ -1098,8 +1099,9 @@ resume_execution:
|
|||
HLUA_CLR_WAKERESWR(lua);
|
||||
HLUA_CLR_WAKEREQWR(lua);
|
||||
|
||||
/* Update the start time. */
|
||||
/* Update the start time and reset wake_time. */
|
||||
lua->start_time = now_ms;
|
||||
lua->wake_time = TICK_ETERNITY;
|
||||
|
||||
/* Call the function. */
|
||||
ret = lua_resume(lua->T, gL.T, lua->nargs);
|
||||
|
|
|
|||
Loading…
Reference in a new issue