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.
This commit is contained in:
Samuel Thibault 2015-02-07 22:16:19 +01:00
parent a9a002fb6c
commit e9a5bc1c18
2 changed files with 6 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2015-02-07 Richard Braun <rbraun@sceen.net>
* hurd/hurd/signal.h (_hurd_critical_section_lock): Don't unlock
sigstate.
2015-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
* sysdeps/pthread/aio_misc.c [!AIO_PRIO_DELTA_MAX]: Do not check

View File

@ -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))