diff options
author | Samuel Williams <samuel.williams@oriontransfer.co.nz> | 2022-05-22 00:32:41 +1200 |
---|---|---|
committer | Samuel Williams <samuel.williams@oriontransfer.co.nz> | 2022-05-25 15:24:24 +1200 |
commit | 42bcc629fba518215c844488223bc279006a4fa2 (patch) | |
tree | b1953c08c41e526c501c78b76aa6360e6e1ab5f2 /test/fiber/test_scheduler.rb | |
parent | 901525b1079ac02da0122a76d8e4c3546a7f80f6 (diff) | |
download | ruby-42bcc629fba518215c844488223bc279006a4fa2.tar.gz |
Retain reference to blocking fibers.
Diffstat (limited to 'test/fiber/test_scheduler.rb')
-rw-r--r-- | test/fiber/test_scheduler.rb | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/test/fiber/test_scheduler.rb b/test/fiber/test_scheduler.rb index f1030ea3fa..4b1310f0a6 100644 --- a/test/fiber/test_scheduler.rb +++ b/test/fiber/test_scheduler.rb @@ -106,22 +106,24 @@ class TestFiberScheduler < Test::Unit::TestCase end def test_autoload - Object.autoload(:TestFiberSchedulerAutoload, File.expand_path("autoload.rb", __dir__)) + 100.times do + Object.autoload(:TestFiberSchedulerAutoload, File.expand_path("autoload.rb", __dir__)) - thread = Thread.new do - scheduler = Scheduler.new - Fiber.set_scheduler scheduler + thread = Thread.new do + scheduler = Scheduler.new + Fiber.set_scheduler scheduler - 10.times do - Fiber.schedule do - Object.const_get(:TestFiberSchedulerAutoload) + 10.times do + Fiber.schedule do + Object.const_get(:TestFiberSchedulerAutoload) + end end end - end - thread.join - ensure - $LOADED_FEATURES.delete(File.expand_path("autoload.rb", __dir__)) - Object.send(:remove_const, :TestFiberSchedulerAutoload) + thread.join + ensure + $LOADED_FEATURES.delete(File.expand_path("autoload.rb", __dir__)) + Object.send(:remove_const, :TestFiberSchedulerAutoload) + end end end |