summaryrefslogtreecommitdiff
path: root/lib/timeout.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/timeout.rb')
-rw-r--r--lib/timeout.rb15
1 files changed, 5 insertions, 10 deletions
diff --git a/lib/timeout.rb b/lib/timeout.rb
index eab1a1be9e..36cd0f915b 100644
--- a/lib/timeout.rb
+++ b/lib/timeout.rb
@@ -46,16 +46,11 @@ module Timeout
# :stopdoc:
# We keep a private reference so that time mocking libraries won't break Timeout.
- GET_TIME =
- if defined?(Ractor.make_shareable)
- begin
- Ractor.make_shareable(Process.method(:clock_gettime))
- rescue # failed on Ruby 3.4
- Process.method(:clock_gettime)
- end
- else
- Process.method(:clock_gettime)
- end
+ GET_TIME = Process.method(:clock_gettime)
+ if defined?(Ractor.make_shareable)
+ # Ractor.make_shareable(Method) only works on Ruby 4+
+ Ractor.make_shareable(GET_TIME) rescue nil
+ end
private_constant :GET_TIME
class State