summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-12-31 13:57:36 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-12-31 13:57:36 +0000
commit0190877949ba8823a2e975b493219b3dff7a1e62 (patch)
treeda5fa9149da876e130d30ebf1aec5c128e74567e
parent6609f3569f59a4f2f7e9bd497554161b65dbd691 (diff)
downloadruby-0190877949ba8823a2e975b493219b3dff7a1e62.tar.gz
ruby-0190877949ba8823a2e975b493219b3dff7a1e62.tar.xz
ruby-0190877949ba8823a2e975b493219b3dff7a1e62.zip
* eval.c (rb_thread_save_context): should not recycle scope object used
in a thread. fixed: [ruby-dev:28177] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@9781 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--eval.c1
2 files changed, 6 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index e5d0d43e8..870bd9b36 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 49dfe28cd..a354b3ab1 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;