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 + + * 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 * 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;