Ruby Issue Tracking System: Issueshttps://bugs.ruby-lang.org/https://bugs.ruby-lang.org/favicon.ico?17113305112014-10-12T06:41:48ZRuby Issue Tracking System
Redmine Ruby master - Feature #10371 (Open): Use Thread#handle_interrupt in MonitorMixinhttps://bugs.ruby-lang.org/issues/103712014-10-12T06:41:48Znerdrew (Andrew Lazarus)nerdrew@gmail.com
<p>Now that ruby has Thread#handle_interrupt, MonitorMixin can always unlock the mutex even when a timeout exception is raised.</p>
<p>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.</p>