Explorar el Código

bit-field CIST_YIELDED removed (it was never consulted)

Roberto Ierusalimschy hace 11 años
padre
commit
88a9e51f34
Se han modificado 2 ficheros con 8 adiciones y 10 borrados
  1. 3 4
      ldo.c
  2. 5 6
      lstate.h

+ 3 - 4
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);

+ 5 - 6
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)