[前][次][番号順一覧][スレッド一覧]

ruby-changes:66875

From: Nobuyoshi <ko1@a...>
Date: Fri, 23 Jul 2021 12:01:37 +0900 (JST)
Subject: [ruby-changes:66875] 377995035a (master): Suppress exception message in finalizer [Feature #17798]

https://git.ruby-lang.org/ruby.git/commit/?id=377995035a

From 377995035a8ed42e4c0d5c84bb3c88c2d53dcf0a Mon Sep 17 00:00:00 2001
From: Nobuyoshi Nakada <nobu@r...>
Date: Fri, 23 Jul 2021 00:44:19 +0900
Subject: Suppress exception message in finalizer [Feature #17798]

---
 gc.c                 | 2 +-
 test/ruby/test_gc.rb | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/gc.c b/gc.c
index 61ff6ab..da0f5ff 100644
--- a/gc.c
+++ b/gc.c
@@ -3990,7 +3990,7 @@ run_single_final(VALUE cmd, VALUE objid) https://github.com/ruby/ruby/blob/trunk/gc.c#L3990
 static void
 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;
 	rb_warn("Exception in finalizer %+"PRIsVALUE, final);
 	rb_ec_error_print(ec, errinfo);
diff --git a/test/ruby/test_gc.rb b/test/ruby/test_gc.rb
index c3fc104..4df9775 100644
--- a/test/ruby/test_gc.rb
+++ b/test/ruby/test_gc.rb
@@ -459,7 +459,7 @@ class TestGc < Test::Unit::TestCase https://github.com/ruby/ruby/blob/trunk/test/ruby/test_gc.rb#L459
         obj = nil
       }
     }
-    GC.start
+    EnvUtil.suppress_warning {GC.start}
     skip "finalizers did not get run" if result.empty?
     assert_equal([:c1, :c2], result)
   end
@@ -482,7 +482,7 @@ class TestGc < Test::Unit::TestCase https://github.com/ruby/ruby/blob/trunk/test/ruby/test_gc.rb#L482
         obj = nil
       }
     }
-    GC.start
+    EnvUtil.suppress_warning {GC.start}
     skip "finalizers did not get run" if @result.empty?
     assert_equal([:c1, :c2], @result)
   end
-- 
cgit v1.1


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]