【Lua】組み込み系言語総合 その2【Squirrel】 at TECH
[2ch|▼Menu]
129:デフォルトの名無しさん
09/07/31 21:20:37
>>127
だから削除したいならスレッドの参照を潰せばいいだけでしょ?
自分で最後に答え書いてるじゃん!


中断中のコルーチンが参照されなくなった場合に GC 対象になるかどうかは
マニュアルにも明言されてない、どっちなの? って質問なら確かにわかりにくいとは思うが。

int main(int argc, char* argv[])
{
 lua_State* L = lua_open();
 luaL_openlibs(L);
 lua_State* thread = lua_newthread(L);

 luaL_loadstring(thread, "print('co1'); coroutine.yield(); print('co2');");

 lua_resume(thread, 0);

 //lua_settop(L, 0);

 lua_gc(L, LUA_GCCOLLECT, 0);

 lua_resume(thread, 0);

 lua_close(L);
 return 0;
}

lua_newthreadで積んだスレッドを潰す処理であるlua_settopの行のコメントを削除すると
二回目のlua_resumeの時点で落ちるところから「GC対象になる」が正解みたいやね。


次ページ
続きを表示
1を表示
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4277日前に更新/247 KB
担当:undef