summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--eval.c4
2 files changed, 8 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 3af21baf0..7072cb35e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Mon Jun 13 01:20:02 2005 Tanaka Akira <akr@m17n.org>
+
+ * 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 <aamine@loveruby.net>
* parse.y: missing arg_paren event. This patch is contributed by
diff --git a/eval.c b/eval.c
index c6b756eb5..ce82e6c8e 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);