1
function coroutine_test(a,b)
4
local ret = ::suspend("suspend 1");
5
::print("the coroutine says "+ret+"\n");
6
ret = ::suspend("suspend 2");
7
::print("the coroutine says "+ret+"\n");
8
ret = ::suspend("suspend 3");
9
::print("the coroutine says "+ret+"\n");
13
local coro = ::newthread(coroutine_test);
15
local susparam = coro.call("test","coroutine"); //starts the coroutine
20
::print("suspend passed ["+susparam+"]\n")
21
susparam = coro.wakeup("ciao "+i);
23
}while(coro.getstatus()=="suspended")
25
::print("return passed ["+susparam+"]\n")