summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--eval.c1
2 files changed, 6 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index e5d0d43e8c..870bd9b36b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Sat Dec 31 22:57:00 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * eval.c (rb_thread_save_context): should not recycle scope object used
+ in a thread. fixed: [ruby-dev:28177]
+
Fri Dec 30 18:22:42 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
* gc.c (garbage_collect): mark objects refered from aborting threads.
diff --git a/eval.c b/eval.c
index 49dfe28cd7..a354b3ab16 100644
--- a/eval.c
+++ b/eval.c
@@ -10117,6 +10117,7 @@ rb_thread_save_context(th)
th->frame = ruby_frame;
th->scope = ruby_scope;
+ ruby_scope->flags |= SCOPE_DONT_RECYCLE;
th->klass = ruby_class;
th->wrapper = ruby_wrapper;
th->cref = ruby_cref;