summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--proc.c1
2 files changed, 7 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 17c6fbe20b..19b6bc7ca1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Sun May 9 23:07:53 2010 Yusuke Endoh <mame@tsg.ne.jp>
+
+ * proc.c (proc_dup): copy blockprocval. proc_dup is used by
+ define_method, which made blockprocval be GC'ed mistakenly.
+ [ruby-core:30023]
+
Sun May 9 16:28:15 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
* cont.c (fiber_initialize_machine_stack_context): try to release
diff --git a/proc.c b/proc.c
index 30fc2475a6..81ec03d954 100644
--- a/proc.c
+++ b/proc.c
@@ -105,6 +105,7 @@ proc_dup(VALUE self)
dst->block = src->block;
dst->block.proc = procval;
+ dst->blockprocval = src->blockprocval;
dst->envval = src->envval;
dst->safe_level = src->safe_level;
dst->is_lambda = src->is_lambda;