From a9dd6dc2f595bf8ed3ddfb2949b3e93e0cdfa66d Mon Sep 17 00:00:00 2001 From: rubidium Date: Wed, 25 Feb 2009 01:21:50 +0000 Subject: (svn r15578) -Change: unexternalise squirrel. --- src/3rdparty/squirrel/samples/coroutines.nut | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/3rdparty/squirrel/samples/coroutines.nut (limited to 'src/3rdparty/squirrel/samples/coroutines.nut') diff --git a/src/3rdparty/squirrel/samples/coroutines.nut b/src/3rdparty/squirrel/samples/coroutines.nut new file mode 100644 index 000000000..c7e4583c1 --- /dev/null +++ b/src/3rdparty/squirrel/samples/coroutines.nut @@ -0,0 +1,25 @@ +function coroutine_test(a,b) +{ + ::print(a+" "+b+"\n"); + local ret = ::suspend("suspend 1"); + ::print("the coroutine says "+ret+"\n"); + ret = ::suspend("suspend 2"); + ::print("the coroutine says "+ret+"\n"); + ret = ::suspend("suspend 3"); + ::print("the coroutine says "+ret+"\n"); + return "I'm done" +} + +local coro = ::newthread(coroutine_test); + +local susparam = coro.call("test","coroutine"); //starts the coroutine + +local i = 1; +do +{ + ::print("suspend passed ["+susparam+"]\n") + susparam = coro.wakeup("ciao "+i); + ++i; +}while(coro.getstatus()=="suspended") + +::print("return passed ["+susparam+"]\n") -- cgit v1.2.3-70-g09d2