lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

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 as luaL_newstate).

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: