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 dda156d..a8f48b3 100644
--- a/src/hlua.c
+++ b/src/hlua.c
@@ -907,6 +907,7 @@
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 @@
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);