summaryrefslogtreecommitdiff
path: root/hurd
diff options
context:
space:
mode:
authorneal <neal>2008-07-04 08:55:08 +0000
committerneal <neal>2008-07-04 08:55:08 +0000
commit241960676bb662addd5f0a14117ae20283bf85f5 (patch)
treec8c9443e2355871d34778701016410946a86c653 /hurd
parent9b1b8cc369200d061d294e072683f9ac4f74982a (diff)
2008-07-04 Neal H. Walfield <neal@gnu.org>
* mutex.h (ss_mutex_lock): Only complain about a possible deadlock if ERRNO is EDEADLK.
Diffstat (limited to 'hurd')
-rw-r--r--hurd/ChangeLog5
-rw-r--r--hurd/mutex.h2
2 files changed, 6 insertions, 1 deletions
diff --git a/hurd/ChangeLog b/hurd/ChangeLog
index 6018dd7..25b5827 100644
--- a/hurd/ChangeLog
+++ b/hurd/ChangeLog
@@ -1,5 +1,10 @@
2008-07-04 Neal H. Walfield <neal@gnu.org>
+ * mutex.h (ss_mutex_lock): Only complain about a possible deadlock
+ if ERRNO is EDEADLK.
+
+2008-07-04 Neal H. Walfield <neal@gnu.org>
+
* cap.h (cap_copy_x): Also call cap_shootdown if the version field
changes.
diff --git a/hurd/mutex.h b/hurd/mutex.h
index f1aee64..d86e04e 100644
--- a/hurd/mutex.h
+++ b/hurd/mutex.h
@@ -68,7 +68,7 @@ ss_mutex_lock (__const char *caller, int line, ss_mutex_t *lockp)
/* Try to sleep but only if LOCKP is _MUTEX_WAITERS. */
while (c != _MUTEX_UNLOCKED)
{
- if (futex_wait (lockp, _MUTEX_WAITERS) == -1)
+ if (futex_wait (lockp, _MUTEX_WAITERS) == -1 && errno == EDEADLK)
{
debug (0, "Possible deadlock: %p!", lockp);
extern int backtrace (void **array, int size);