commit 88a9e51f3431548833772207242f9c804fb8e44d
parent 8b5940e7ca6a1233b81d850411261c22f2a7a657
Author: Roberto Ierusalimschy <roberto@inf.puc-rio.br>
Date: Tue, 10 Jun 2014 16:18:25 -0300
bit-field CIST_YIELDED removed (it was never consulted)
Diffstat:
2 files changed, 8 insertions(+), 10 deletions(-)
diff --git a/ldo.c b/ldo.c
@@ -1,5 +1,5 @@
/*
-** $Id: ldo.c,v 2.118 2014/06/10 17:41:38 roberto Exp roberto $
+** $Id: ldo.c,v 2.119 2014/06/10 18:51:21 roberto Exp roberto $
** Stack and Call structure of Lua
** See Copyright Notice in lua.h
*/
@@ -425,10 +425,10 @@ static void finishCcall (lua_State *L, int status) {
ci->callstatus &= ~CIST_YPCALL; /* finish 'lua_pcall' */
L->errfunc = ci->u.c.old_errfunc;
}
- /* finish 'lua_callk'/'lua_pcall' */
+ /* finish 'lua_callk'/'lua_pcall'; CIST_YPCALL and 'errfunc' already
+ handled */
adjustresults(L, ci->nresults);
/* call continuation function */
- ci->callstatus = (ci->callstatus & ~CIST_YPCALL) | CIST_YIELDED;
lua_unlock(L);
n = (*ci->u.c.k)(L, status, ci->u.c.ctx);
lua_lock(L);
@@ -536,7 +536,6 @@ static void resume (lua_State *L, void *ud) {
else { /* 'common' yield */
if (ci->u.c.k != NULL) { /* does it have a continuation? */
int n;
- ci->callstatus |= CIST_YIELDED;
lua_unlock(L);
n = (*ci->u.c.k)(L, LUA_YIELD, ci->u.c.ctx); /* call continuation */
lua_lock(L);
diff --git a/lstate.h b/lstate.h
@@ -1,5 +1,5 @@
/*
-** $Id: lstate.h,v 2.104 2014/06/10 17:41:38 roberto Exp roberto $
+** $Id: lstate.h,v 2.105 2014/06/10 18:51:21 roberto Exp roberto $
** Global State
** See Copyright Notice in lua.h
*/
@@ -84,11 +84,10 @@ typedef struct CallInfo {
#define CIST_HOOKED (1<<1) /* call is running a debug hook */
#define CIST_REENTRY (1<<2) /* call is running on same invocation of
luaV_execute of previous call */
-#define CIST_YIELDED (1<<3) /* call reentered after suspension */
-#define CIST_YPCALL (1<<4) /* call is a yieldable protected call */
-#define CIST_TAIL (1<<5) /* call was tail called */
-#define CIST_HOOKYIELD (1<<6) /* last hook called yielded */
-#define CIST_OAH (1<<7) /* original value of 'allowhook' */
+#define CIST_YPCALL (1<<3) /* call is a yieldable protected call */
+#define CIST_TAIL (1<<4) /* call was tail called */
+#define CIST_HOOKYIELD (1<<5) /* last hook called yielded */
+#define CIST_OAH (1<<6) /* original value of 'allowhook' */
#define isLua(ci) ((ci)->callstatus & CIST_LUA)