summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Pall <mike>2012-12-06 14:14:11 +0100
committerMike Pall <mike>2012-12-06 14:14:11 +0100
commite422ae2d9d184592066c1252ba0b391c4a1830ba (patch)
tree674d4dce376d510263dd1e4763ddfba2445b1e8d
parent41738e371a615d0e06b6a28c15e416652181c823 (diff)
downloadluajit2-e422ae2d9d184592066c1252ba0b391c4a1830ba.tar.gz
Leave hook when resume catches error thrown from hook.
-rw-r--r--src/lj_err.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/lj_err.c b/src/lj_err.c
index fd3545e3..de26a502 100644
--- a/src/lj_err.c
+++ b/src/lj_err.c
@@ -136,6 +136,7 @@ static void *err_unwind(lua_State *L, void *stopcf, int errcode)
case FRAME_CP: /* Protected C frame. */
if (cframe_canyield(cf)) { /* Resume? */
if (errcode) {
+ hook_leave(G(L)); /* Assumes nobody uses coroutines inside hooks. */
L->cframe = NULL;
L->status = (uint8_t)errcode;
}