If the Lua code causes an infinite loop without yield possible, the
clock is not updated. This patch check the clock when the Lua control
code cannot yield.
if (lua_isyieldable(L))
WILL_LJMP(hlua_yieldk(L, 0, 0, NULL, TICK_ETERNITY, HLUA_CTRLYIELD));
- /* If we cannot yield, check the timeout. */
+ /* If we cannot yield, update the clock and check the timeout. */
+ tv_update_date(0, 1);
if (tick_is_expired(hlua->expire, now_ms)) {
lua_pushfstring(L, "execution timeout");
WILL_LJMP(lua_error(L));