[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: scripts launching other scripts (coroutines)
- From: "Thomas Blom" <thomasblom@...>
- Date: Wed, 13 Sep 2006 15:14:56 -0500
How is the thread known to be collectable? In my case there are no lua
references to the thread, which is created from the C call lua_newthread.
This call takes the "master" lua state which it inherits the global
environment from. So is the thread not available for collection until
this "master" lua state (which was obtained via lua_open, otherwise known
Thanks for the response; I'm interested in the various archives, but
presently crashing deep inside lua when calling resume on a new thread
(after having stopped & started others a number of times as in my
example), so any pointers appreciated.
Thomas Blom wrote:
the Capi_killScript just deletes the C object - it doesn't
free the thread in any way (there is no way to free the
thread created with lua_newthread).
Threads are subject to garbage collection and do not need to
be manually freed.
But luaFn2 will never finish - is this OK?
Yes. It's no problem if a coroutine is not dead (see
coroutine.status) when it is collected.
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/