diff options
author | Mike Pall <mike> | 2012-12-06 14:14:11 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2012-12-06 14:14:11 +0100 |
commit | e422ae2d9d184592066c1252ba0b391c4a1830ba (patch) | |
tree | 674d4dce376d510263dd1e4763ddfba2445b1e8d /src | |
parent | 41738e371a615d0e06b6a28c15e416652181c823 (diff) | |
download | luajit-e422ae2d9d184592066c1252ba0b391c4a1830ba.tar.gz luajit-e422ae2d9d184592066c1252ba0b391c4a1830ba.tar.bz2 luajit-e422ae2d9d184592066c1252ba0b391c4a1830ba.zip |
Leave hook when resume catches error thrown from hook.
Diffstat (limited to 'src')
-rw-r--r-- | src/lj_err.c | 1 |
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) | |||
136 | case FRAME_CP: /* Protected C frame. */ | 136 | case FRAME_CP: /* Protected C frame. */ |
137 | if (cframe_canyield(cf)) { /* Resume? */ | 137 | if (cframe_canyield(cf)) { /* Resume? */ |
138 | if (errcode) { | 138 | if (errcode) { |
139 | hook_leave(G(L)); /* Assumes nobody uses coroutines inside hooks. */ | ||
139 | L->cframe = NULL; | 140 | L->cframe = NULL; |
140 | L->status = (uint8_t)errcode; | 141 | L->status = (uint8_t)errcode; |
141 | } | 142 | } |