aboutsummaryrefslogtreecommitdiff
path: root/ldo.c
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2018-12-13 13:07:53 -0200
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2018-12-13 13:07:53 -0200
commitfdc25a1ebfe9968dcec390dd556375105aa0be40 (patch)
tree43759131636a501ec92475d453fd1a1c73bc8090 /ldo.c
parent3b06f983ae0e57b90cdeb500c84bb524e5c3635b (diff)
downloadlua-fdc25a1ebfe9968dcec390dd556375105aa0be40.tar.gz
lua-fdc25a1ebfe9968dcec390dd556375105aa0be40.tar.bz2
lua-fdc25a1ebfe9968dcec390dd556375105aa0be40.zip
New functions 'lua_resetthread' and 'coroutine.kill'
New functions to reset/kill a thread/coroutine, mainly (only?) to close any pending to-be-closed variable. ('lua_resetthread' also allows a thread to be reused...)
Diffstat (limited to 'ldo.c')
-rw-r--r--ldo.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/ldo.c b/ldo.c
index bdd7fb6d..056fef0c 100644
--- a/ldo.c
+++ b/ldo.c
@@ -98,6 +98,10 @@ void luaD_seterrorobj (lua_State *L, int errcode, StkId oldtop) {
98 setsvalue2s(L, oldtop, luaS_newliteral(L, "error in error handling")); 98 setsvalue2s(L, oldtop, luaS_newliteral(L, "error in error handling"));
99 break; 99 break;
100 } 100 }
101 case CLOSEPROTECT: {
102 setnilvalue(s2v(oldtop)); /* no error message */
103 break;
104 }
101 default: { 105 default: {
102 setobjs2s(L, oldtop, L->top - 1); /* error message on current top */ 106 setobjs2s(L, oldtop, L->top - 1); /* error message on current top */
103 break; 107 break;