diff --git a/ChangeLog b/ChangeLog index 3af21baf03..7072cb35ef 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Mon Jun 13 01:20:02 2005 Tanaka Akira + + * eval.c (rb_gc_mark_threads): curr_thread may not be part of the + thread list. + [ruby-dev:26312] + Sat Jun 11 22:34:44 2005 Minero Aoki * parse.y: missing arg_paren event. This patch is contributed by diff --git a/eval.c b/eval.c index c6b756eb52..ce82e6c8eb 100644 --- a/eval.c +++ b/eval.c @@ -10225,9 +10225,9 @@ rb_gc_mark_threads() rb_gc_mark((VALUE)ruby_cref); if (!curr_thread) return; - FOREACH_THREAD(th) { + FOREACH_THREAD_FROM(main_thread, th) { rb_gc_mark(th->thread); - } END_FOREACH(th); + } END_FOREACH_FROM(main_thread, th); if (new_thread.thread) { rb_gc_mark(new_thread.thread->thread); rb_gc_mark(new_thread.proc);