Project

General

Profile

Actions

Feature #10371

open

Use Thread#handle_interrupt in MonitorMixin

Added by nerdrew (Andrew Lazarus) about 10 years ago. Updated about 3 years ago.

Status:
Open
Assignee:
-
Target version:
-
[ruby-core:65628]

Description

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.

Updated by nerdrew (Andrew Lazarus) about 10 years ago

There was an old bug that might have been related: https://bugs.ruby-lang.org/issues/4266

Actions #2

Updated by hsbt (Hiroshi SHIBATA) about 3 years ago

  • Project changed from 14 to Ruby master
Actions

Also available in: Atom PDF

Like0
Like0Like0