rb_gc_impl_define_finalizer: unlock on early return
This commit is contained in:
parent
6029781984
commit
6d0dd7d863
@ -2847,6 +2847,7 @@ rb_gc_impl_define_finalizer(void *objspace_ptr, VALUE obj, VALUE block)
|
|||||||
for (i = 0; i < len; i++) {
|
for (i = 0; i < len; i++) {
|
||||||
VALUE recv = RARRAY_AREF(table, i);
|
VALUE recv = RARRAY_AREF(table, i);
|
||||||
if (rb_equal(recv, block)) {
|
if (rb_equal(recv, block)) {
|
||||||
|
rb_gc_vm_unlock(lev);
|
||||||
return recv;
|
return recv;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -986,6 +986,7 @@ rb_gc_impl_define_finalizer(void *objspace_ptr, VALUE obj, VALUE block)
|
|||||||
for (i = 0; i < len; i++) {
|
for (i = 0; i < len; i++) {
|
||||||
VALUE recv = RARRAY_AREF(table, i);
|
VALUE recv = RARRAY_AREF(table, i);
|
||||||
if (rb_equal(recv, block)) {
|
if (rb_equal(recv, block)) {
|
||||||
|
rb_gc_vm_unlock(lev);
|
||||||
return recv;
|
return recv;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user