diff options
author | Mike Pall <mike> | 2020-08-09 22:50:31 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2020-08-09 22:50:31 +0200 |
commit | e296f56b825c688c3530a981dc6b495d972f3d01 (patch) | |
tree | b36c33746eca57f360d8275821f4f25d7098da65 /src/lj_trace.c | |
parent | 12ab596997b9cb27846a5b254d11230c3f9c50c8 (diff) | |
download | luajit-e296f56b825c688c3530a981dc6b495d972f3d01.tar.gz luajit-e296f56b825c688c3530a981dc6b495d972f3d01.tar.bz2 luajit-e296f56b825c688c3530a981dc6b495d972f3d01.zip |
Call error function on rethrow after trace exit.
Diffstat (limited to 'src/lj_trace.c')
-rw-r--r-- | src/lj_trace.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lj_trace.c b/src/lj_trace.c index 123e6eb8..c7f3f52d 100644 --- a/src/lj_trace.c +++ b/src/lj_trace.c | |||
@@ -700,8 +700,8 @@ typedef struct ExitDataCP { | |||
700 | static TValue *trace_exit_cp(lua_State *L, lua_CFunction dummy, void *ud) | 700 | static TValue *trace_exit_cp(lua_State *L, lua_CFunction dummy, void *ud) |
701 | { | 701 | { |
702 | ExitDataCP *exd = (ExitDataCP *)ud; | 702 | ExitDataCP *exd = (ExitDataCP *)ud; |
703 | cframe_errfunc(L->cframe) = -1; /* Inherit error function. */ | 703 | /* Always catch error here and don't call error function. */ |
704 | /* Always catch error here. */ | 704 | cframe_errfunc(L->cframe) = 0; |
705 | cframe_nres(L->cframe) = -2*LUAI_MAXSTACK*(int)sizeof(TValue); | 705 | cframe_nres(L->cframe) = -2*LUAI_MAXSTACK*(int)sizeof(TValue); |
706 | exd->pc = lj_snap_restore(exd->J, exd->exptr); | 706 | exd->pc = lj_snap_restore(exd->J, exd->exptr); |
707 | UNUSED(dummy); | 707 | UNUSED(dummy); |