diff options
| author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2024-01-25 13:52:52 -0300 |
|---|---|---|
| committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2024-01-25 13:52:52 -0300 |
| commit | 108e0bdc8495782544c351b17eaae1411a910e89 (patch) | |
| tree | 1196b9d9288b38b0be0290e30ec818fa09d06238 /ldo.c | |
| parent | b34a97a4af5c9e973915c07dba918d95009e0acd (diff) | |
| parent | e288c5a91883793d14ed9e9d93464f6ee0b08915 (diff) | |
| download | lua-108e0bdc8495782544c351b17eaae1411a910e89.tar.gz lua-108e0bdc8495782544c351b17eaae1411a910e89.tar.bz2 lua-108e0bdc8495782544c351b17eaae1411a910e89.zip | |
Merge branch 'master' into nextversion
Diffstat (limited to 'ldo.c')
| -rw-r--r-- | ldo.c | 4 |
1 files changed, 4 insertions, 0 deletions
| @@ -792,6 +792,10 @@ static void resume (lua_State *L, void *ud) { | |||
| 792 | lua_assert(L->status == LUA_YIELD); | 792 | lua_assert(L->status == LUA_YIELD); |
| 793 | L->status = LUA_OK; /* mark that it is running (again) */ | 793 | L->status = LUA_OK; /* mark that it is running (again) */ |
| 794 | if (isLua(ci)) { /* yielded inside a hook? */ | 794 | if (isLua(ci)) { /* yielded inside a hook? */ |
| 795 | /* undo increment made by 'luaG_traceexec': instruction was not | ||
| 796 | executed yet */ | ||
| 797 | lua_assert(ci->callstatus & CIST_HOOKYIELD); | ||
| 798 | ci->u.l.savedpc--; | ||
| 795 | L->top.p = firstArg; /* discard arguments */ | 799 | L->top.p = firstArg; /* discard arguments */ |
| 796 | luaV_execute(L, ci); /* just continue running Lua code */ | 800 | luaV_execute(L, ci); /* just continue running Lua code */ |
| 797 | } | 801 | } |
