summaryrefslogtreecommitdiff
path: root/hurd/hurd/signal.h
diff options
context:
space:
mode:
authorRichard Braun <rbraun@sceen.net>2013-12-21 21:55:28 +0100
committerRichard Braun <rbraun@sceen.net>2013-12-21 21:55:28 +0100
commite88815ece5d165e095966fa9b7ae50933b19a051 (patch)
treecabf4634d688e1aad0822b5d96b8403dacc4c324 /hurd/hurd/signal.h
parent9a079e270a9bec7e1fe28aeda63e07c1bb808d44 (diff)
Hurd: fix sigstate locking
It looks like _hurd_thread_sigstate used to return with the sigstate lock held long ago, but since that's no longer the case, don't unlock something that isn't locked. Note that it's unlikely this change fixes anything in practice since its current implementation (on i386) makes this call a nop. * hurd/hurd/signal.h (_hurd_critical_section_lock): Don't unlock sigstate.
Diffstat (limited to 'hurd/hurd/signal.h')
-rw-r--r--hurd/hurd/signal.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/hurd/hurd/signal.h b/hurd/hurd/signal.h
index d4079efe00..13c5f0e03b 100644
--- a/hurd/hurd/signal.h
+++ b/hurd/hurd/signal.h
@@ -175,9 +175,8 @@ _hurd_critical_section_lock (void)
/* The thread variable is unset; this must be the first time we've
asked for it. In this case, the critical section flag cannot
possible already be set. Look up our sigstate structure the slow
- way; this locks the sigstate lock. */
+ way. */
ss = *location = _hurd_thread_sigstate (__mach_thread_self ());
- __spin_unlock (&ss->lock);
}
if (! __spin_try_lock (&ss->critical_section_lock))