Suppress exception message in finalizer [Feature #17798]
This commit is contained in:
parent
fc4dd45d01
commit
377995035a
Notes:
git
2021-07-23 12:01:42 +09:00
2
gc.c
2
gc.c
@ -3990,7 +3990,7 @@ run_single_final(VALUE cmd, VALUE objid)
|
|||||||
static void
|
static void
|
||||||
warn_exception_in_finalizer(rb_execution_context_t *ec, VALUE final)
|
warn_exception_in_finalizer(rb_execution_context_t *ec, VALUE final)
|
||||||
{
|
{
|
||||||
if (final != Qundef) {
|
if (final != Qundef && !NIL_P(ruby_verbose)) {
|
||||||
VALUE errinfo = ec->errinfo;
|
VALUE errinfo = ec->errinfo;
|
||||||
rb_warn("Exception in finalizer %+"PRIsVALUE, final);
|
rb_warn("Exception in finalizer %+"PRIsVALUE, final);
|
||||||
rb_ec_error_print(ec, errinfo);
|
rb_ec_error_print(ec, errinfo);
|
||||||
|
@ -459,7 +459,7 @@ class TestGc < Test::Unit::TestCase
|
|||||||
obj = nil
|
obj = nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
GC.start
|
EnvUtil.suppress_warning {GC.start}
|
||||||
skip "finalizers did not get run" if result.empty?
|
skip "finalizers did not get run" if result.empty?
|
||||||
assert_equal([:c1, :c2], result)
|
assert_equal([:c1, :c2], result)
|
||||||
end
|
end
|
||||||
@ -482,7 +482,7 @@ class TestGc < Test::Unit::TestCase
|
|||||||
obj = nil
|
obj = nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
GC.start
|
EnvUtil.suppress_warning {GC.start}
|
||||||
skip "finalizers did not get run" if @result.empty?
|
skip "finalizers did not get run" if @result.empty?
|
||||||
assert_equal([:c1, :c2], @result)
|
assert_equal([:c1, :c2], @result)
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user