advanced/mutexes_that_deadlock.rb
tests/_examples/advanced/mutexes_that_deadlock.rb in the metorex repository.
held = Mutex.new
holder = Thread.new { held.lock; Thread.stop }
Thread.pass until holder.status == "sleep"
begin
held.lock
rescue Exception => error
p(error.class)
puts(error.message.lines.first)
end
Output:
fatal
No live threads left. Deadlock?