[ruby-core:113745] [Ruby master Bug#19709] `Thread.join(timeout)` hangs in fiber scheduler.

Issue #19709 has been reported by ioquatix (Samuel Williams). ---------------------------------------- Bug #19709: `Thread.join(timeout)` hangs in fiber scheduler. https://bugs.ruby-lang.org/issues/19709 * Author: ioquatix (Samuel Williams) * Status: Assigned * Priority: Normal * Assignee: ioquatix (Samuel Williams) * Backport: 3.0: REQUIRED, 3.1: REQUIRED, 3.2: REQUIRED ---------------------------------------- Unfortunately the following script can hang: ```ruby require_relative 'test/fiber/scheduler' scheduler = Scheduler.new Fiber.set_scheduler scheduler Fiber.schedule do thread = Thread.new{sleep} thread.join(0.1) end ``` The termination condition in the `thread_join` is not expressed correctly. -- https://bugs.ruby-lang.org/

Issue #19709 has been updated by ioquatix (Samuel Williams). PR: https://github.com/ruby/ruby/pull/7903 ---------------------------------------- Bug #19709: `Thread.join(timeout)` hangs in fiber scheduler. https://bugs.ruby-lang.org/issues/19709#change-103393 * Author: ioquatix (Samuel Williams) * Status: Assigned * Priority: Normal * Assignee: ioquatix (Samuel Williams) * Backport: 3.0: REQUIRED, 3.1: REQUIRED, 3.2: REQUIRED ---------------------------------------- Unfortunately the following script can hang: ```ruby require_relative 'test/fiber/scheduler' scheduler = Scheduler.new Fiber.set_scheduler scheduler Fiber.schedule do thread = Thread.new{sleep} thread.join(0.1) end ``` The termination condition in the `thread_join` is not expressed correctly. -- https://bugs.ruby-lang.org/

Issue #19709 has been updated by ioquatix (Samuel Williams). Status changed from Assigned to Closed Merged. ---------------------------------------- Bug #19709: `Thread.join(timeout)` hangs in fiber scheduler. https://bugs.ruby-lang.org/issues/19709#change-103395 * Author: ioquatix (Samuel Williams) * Status: Closed * Priority: Normal * Assignee: ioquatix (Samuel Williams) * Backport: 3.0: REQUIRED, 3.1: REQUIRED, 3.2: REQUIRED ---------------------------------------- Unfortunately the following script can hang: ```ruby require_relative 'test/fiber/scheduler' scheduler = Scheduler.new Fiber.set_scheduler scheduler Fiber.schedule do thread = Thread.new{sleep} thread.join(0.1) end ``` The termination condition in the `thread_join` is not expressed correctly. -- https://bugs.ruby-lang.org/

Issue #19709 has been updated by nagachika (Tomoyuki Chikanaga). Backport changed from 3.0: REQUIRED, 3.1: REQUIRED, 3.2: REQUIRED to 3.0: REQUIRED, 3.1: REQUIRED, 3.2: DONE ruby_3_2 a3911b965f094f07080cf7adb22ee5e2e8555d86 merged revision(s) 0402193723647b8c4f57b1453fe2192ad2788d12. ---------------------------------------- Bug #19709: `Thread.join(timeout)` hangs in fiber scheduler. https://bugs.ruby-lang.org/issues/19709#change-103951 * Author: ioquatix (Samuel Williams) * Status: Closed * Priority: Normal * Assignee: ioquatix (Samuel Williams) * Backport: 3.0: REQUIRED, 3.1: REQUIRED, 3.2: DONE ---------------------------------------- Unfortunately the following script can hang: ```ruby require_relative 'test/fiber/scheduler' scheduler = Scheduler.new Fiber.set_scheduler scheduler Fiber.schedule do thread = Thread.new{sleep} thread.join(0.1) end ``` The termination condition in the `thread_join` is not expressed correctly. -- https://bugs.ruby-lang.org/
participants (2)
-
ioquatix (Samuel Williams)
-
nagachika (Tomoyuki Chikanaga)