lua-users home
lua-l archive

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


On 12 Apr 2006, at 11:07, Raymond Jacobs wrote:

Hi Eric,

Thanks for the reply, I am currently solving it by iterating the stack and removing the co-routine when i have decided it is dead, this work but it's a little 'ick', my main issues were that I didint know (and the documentation did not specify) that the co- routines do not die upon completion.

it seems the optimal situation would be to increase the reference count of the new thread when i create it, and immediately pop it off the stack (since when i need to get it later the position is not predictable and i need to search) and then later be able to decrement the ref count by simply having the lua_State* that represents the co-routine.

any thoughts on that?


Not sure I follow what you mean by "increase the reference count." Lua does not use reference counting anywhere; it's exclusively garbage collected.

In our application, we approach this problem by storing a reference to the new thread in the global reference list and removing that reference when the coroutine is done. I think that's done via lua_ref and lua_unref, but I don't have the code handy at the moment.

-Eric