[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: lua thread corruption
- From: Cristian Popa <cristian.popa@...>
- Date: Thu, 13 Jan 2011 20:14:47 +0200
I have issue with lua threads that i can't seem to figure out.
I use lua_newthread for each new lua call, and i have a wait command
implemented like this:
int Wait(lua_State* state)
// first param - time to wait
const int time_to_wait = lua_tointeger(state, 1);
GX_ASSERT(time_to_wait > 0);
return lua_yield(state, 2);
For some reason, at random times one of my yield-ed threads get garbage
collected by lua GC, resulting in a crash when i try to resume that
thread. The deleted thread's status is LUA_YIELD, Also, the
thread->stack->tt seems to be corrupted (it has a 0xdddddddd value).
Do you have any ideea what could generate this type of behavior, lua gc
to delete a yield-ed thread?