From 44e8575ca6e7749b296366f8e7d8094e4cfd2196 Mon Sep 17 00:00:00 2001 From: Jeremy Evans Date: Mon, 3 May 2021 08:31:59 -0700 Subject: [PATCH] [ruby/timeout] Avoid unnecessary object allocation Idea from nobu. https://github.com/ruby/timeout/commit/aecdaa23b3 --- lib/timeout.rb | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lib/timeout.rb b/lib/timeout.rb index 572e90cafb..ee24349a3e 100644 --- a/lib/timeout.rb +++ b/lib/timeout.rb @@ -32,9 +32,8 @@ module Timeout def self.catch(*args) exc = new(*args) exc.instance_variable_set(:@thread, Thread.current) - catch_value = Object.new - exc.instance_variable_set(:@catch_value, catch_value) - ::Kernel.catch(catch_value) {yield exc} + exc.instance_variable_set(:@catch_value, exc) + ::Kernel.catch(exc) {yield exc} end def exception(*)