lua-users home
lua-l archive

Re: Co-Routines not dying and resulting in a crash (stack overflow?)

[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

AltStyle によって変換されたページ (->オリジナル) /