Issue #10371 has been reported by Andrew Lazarus.

----------------------------------------
Feature #10371: Use Thread#handle_interrupt in MonitorMixin
https://bugs.ruby-lang.org/issues/10371

* Author: Andrew Lazarus
* Status: Open
* Priority: Normal
* Assignee: 
* Category: 
* Target version: 
----------------------------------------
Now that ruby has Thread#handle_interrupt, MonitorMixin can always unlock the mutex even when a timeout exception is raised.

Currently, if a timeout exception is raised in MonitorMixin#mon_exit at just the wrong time, the @mon_owner is set to nil, but the @mon_mutex is still locked. ThreadError: deadlock; recursive locking is raised the next time the resource is accessed.



-- 
https://bugs.ruby-lang.org/