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?