mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* proc.c (proc_mark): needs to mark the receiver too. a patch from
Chris Heath <chris AT heathens.co.nz> in [ruby-core:14983]. [ruby-core:14885] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14995 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
7e6cf122ef
commit
857b3018dd
3 changed files with 14 additions and 0 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
Fri Jan 11 20:20:16 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
|
* proc.c (proc_mark): needs to mark the receiver too. a patch from
|
||||||
|
Chris Heath <chris AT heathens.co.nz> in [ruby-core:14983].
|
||||||
|
[ruby-core:14885]
|
||||||
|
|
||||||
Fri Jan 11 18:28:49 2008 Eric Hodel <drbrain@segment7.net>
|
Fri Jan 11 18:28:49 2008 Eric Hodel <drbrain@segment7.net>
|
||||||
|
|
||||||
* lib/rdoc/usage.rb: Removed.
|
* lib/rdoc/usage.rb: Removed.
|
||||||
|
|
|
@ -253,3 +253,10 @@ assert_equal %q{3}, %q{
|
||||||
a + 2
|
a + 2
|
||||||
}.call
|
}.call
|
||||||
}
|
}
|
||||||
|
|
||||||
|
assert_equal %q{ok}, %q{
|
||||||
|
class A; def get_block; proc {puts "ok"} end end
|
||||||
|
block = A.new.get_block
|
||||||
|
GC.start
|
||||||
|
block.call
|
||||||
|
}
|
||||||
|
|
1
proc.c
1
proc.c
|
@ -52,6 +52,7 @@ proc_mark(void *ptr)
|
||||||
RUBY_MARK_UNLESS_NULL(proc->blockprocval);
|
RUBY_MARK_UNLESS_NULL(proc->blockprocval);
|
||||||
RUBY_MARK_UNLESS_NULL((VALUE)proc->special_cref_stack);
|
RUBY_MARK_UNLESS_NULL((VALUE)proc->special_cref_stack);
|
||||||
RUBY_MARK_UNLESS_NULL(proc->block.proc);
|
RUBY_MARK_UNLESS_NULL(proc->block.proc);
|
||||||
|
RUBY_MARK_UNLESS_NULL(proc->block.self);
|
||||||
if (proc->block.iseq && RUBY_VM_IFUNC_P(proc->block.iseq)) {
|
if (proc->block.iseq && RUBY_VM_IFUNC_P(proc->block.iseq)) {
|
||||||
RUBY_MARK_UNLESS_NULL((VALUE)(proc->block.iseq));
|
RUBY_MARK_UNLESS_NULL((VALUE)(proc->block.iseq));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue