diff options
author | Mike Pall <mike> | 2020-09-22 23:37:43 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2020-09-22 23:37:43 +0200 |
commit | dd0f09f95f36caf1f2111c10fec02748116003bb (patch) | |
tree | 675a63502635201a70fda3ce4a778c17296efbb8 /src/lj_err.c | |
parent | 518e8cbeb435d7c294abbaded97bc1aa897e36c7 (diff) | |
download | luajit-dd0f09f95f36caf1f2111c10fec02748116003bb.tar.gz luajit-dd0f09f95f36caf1f2111c10fec02748116003bb.tar.bz2 luajit-dd0f09f95f36caf1f2111c10fec02748116003bb.zip |
Another fix for lua_yield() from C hook.
Reported by Jason Carr.
Diffstat (limited to 'src/lj_err.c')
-rw-r--r-- | src/lj_err.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/lj_err.c b/src/lj_err.c index 47f88740..656631a9 100644 --- a/src/lj_err.c +++ b/src/lj_err.c | |||
@@ -687,9 +687,9 @@ LJ_NOINLINE void lj_err_optype_call(lua_State *L, TValue *o) | |||
687 | const BCIns *pc = cframe_Lpc(L); | 687 | const BCIns *pc = cframe_Lpc(L); |
688 | if (((ptrdiff_t)pc & FRAME_TYPE) != FRAME_LUA) { | 688 | if (((ptrdiff_t)pc & FRAME_TYPE) != FRAME_LUA) { |
689 | const char *tname = lj_typename(o); | 689 | const char *tname = lj_typename(o); |
690 | setframe_gc(o, obj2gco(L), LJ_TTHREAD); | ||
690 | if (LJ_FR2) o++; | 691 | if (LJ_FR2) o++; |
691 | setframe_pc(o, pc); | 692 | setframe_pc(o, pc); |
692 | setframe_gc(o, obj2gco(L), LJ_TTHREAD); | ||
693 | L->top = L->base = o+1; | 693 | L->top = L->base = o+1; |
694 | err_msgv(L, LJ_ERR_BADCALL, tname); | 694 | err_msgv(L, LJ_ERR_BADCALL, tname); |
695 | } | 695 | } |