From: Christopher Faulet Date: Wed, 26 Feb 2020 13:55:16 +0000 (+0100) Subject: BUG/MINOR: lua: Init the lua wake_time value before calling a lua function X-Git-Tag: v2.2-dev4~29 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bc275a9e4441d8118326fe2d560cf165b168931a;p=thirdparty%2Fhaproxy.git 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. --- diff --git a/src/hlua.c b/src/hlua.c index dda156dda6..a8f48b3994 100644 --- a/src/hlua.c +++ b/src/hlua.c @@ -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);