diff options
Diffstat (limited to 'ldo.c')
| -rw-r--r-- | ldo.c | 8 |
1 files changed, 4 insertions, 4 deletions
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ** $Id: ldo.c,v 2.116 2014/05/08 13:52:20 roberto Exp roberto $ | 2 | ** $Id: ldo.c,v 2.117 2014/06/09 16:32:18 roberto Exp roberto $ |
| 3 | ** Stack and Call structure of Lua | 3 | ** Stack and Call structure of Lua |
| 4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
| 5 | */ | 5 | */ |
| @@ -433,7 +433,7 @@ static void finishCcall (lua_State *L) { | |||
| 433 | lua_assert(ci->u.c.status != LUA_OK); | 433 | lua_assert(ci->u.c.status != LUA_OK); |
| 434 | ci->callstatus = (ci->callstatus & ~(CIST_YPCALL | CIST_STAT)) | CIST_YIELDED; | 434 | ci->callstatus = (ci->callstatus & ~(CIST_YPCALL | CIST_STAT)) | CIST_YIELDED; |
| 435 | lua_unlock(L); | 435 | lua_unlock(L); |
| 436 | n = (*ci->u.c.k)(L); | 436 | n = (*ci->u.c.k)(L, ci->u.c.status, ci->u.c.ctx); |
| 437 | lua_lock(L); | 437 | lua_lock(L); |
| 438 | api_checknelems(L, n); | 438 | api_checknelems(L, n); |
| 439 | /* finish 'luaD_precall' */ | 439 | /* finish 'luaD_precall' */ |
| @@ -539,7 +539,7 @@ static void resume (lua_State *L, void *ud) { | |||
| 539 | ci->u.c.status = LUA_YIELD; /* 'default' status */ | 539 | ci->u.c.status = LUA_YIELD; /* 'default' status */ |
| 540 | ci->callstatus |= CIST_YIELDED; | 540 | ci->callstatus |= CIST_YIELDED; |
| 541 | lua_unlock(L); | 541 | lua_unlock(L); |
| 542 | n = (*ci->u.c.k)(L); /* call continuation */ | 542 | n = (*ci->u.c.k)(L, ci->u.c.status, ci->u.c.ctx); /* call continuation */ |
| 543 | lua_lock(L); | 543 | lua_lock(L); |
| 544 | api_checknelems(L, n); | 544 | api_checknelems(L, n); |
| 545 | firstArg = L->top - n; /* yield results come from continuation */ | 545 | firstArg = L->top - n; /* yield results come from continuation */ |
| @@ -589,7 +589,7 @@ LUA_API int lua_isyieldable (lua_State *L) { | |||
| 589 | } | 589 | } |
| 590 | 590 | ||
| 591 | 591 | ||
| 592 | LUA_API int lua_yieldk (lua_State *L, int nresults, int ctx, lua_CFunction k) { | 592 | LUA_API int lua_yieldk (lua_State *L, int nresults, int ctx, lua_KFunction k) { |
| 593 | CallInfo *ci = L->ci; | 593 | CallInfo *ci = L->ci; |
| 594 | luai_userstateyield(L, nresults); | 594 | luai_userstateyield(L, nresults); |
| 595 | lua_lock(L); | 595 | lua_lock(L); |
