[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Co-Routines not dying and resulting in a crash (stack overflow?)
- From: Eric Scouten <scouten@...>
- Date: Wed, 12 Apr 2006 11:12:07 -0700
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