URL: <http://savannah.gnu.org/bugs/?29953>
Summary: libdiskfs: multiple calls to diskfs_release_peropen with mutex already hold Project: The GNU Hurd Submitted by: k0ro Submitted on: Mon 24 May 2010 10:57:06 AM CEST Category: Hurd Interfaces Severity: 4 - Important Priority: 5 - Normal Item Group: None Status: None Privacy: Public Assigned to: None Originator Name: Originator Email: Open/Closed: Open Discussion Lock: Any Reproducibility: Every Time Size (loc): None Planned Release: None Effort: 0.00 Wiki-like text discussion box: _______________________________________________________ Details: diskfs_release_peropen is called as part of a cleanup operation if diskfs_create_protid returns an error. This function tries to lock the mutex of the node related to the peropen structure. At multiple places in libdiskfs, this call is made with this mutex already hold, so the current thread (and every other thread that tries to operate with that node) is blocked forever. This behaviour is pretty uncommon as diskfs_create_protid only fails in case that all ports available to the current task have been consumed. _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?29953> _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/