Commit d5f73a40 authored by Samuel Thibault's avatar Samuel Thibault

hurd-i386/libpthread_sigs.diff: refresh patch

parent 53b4cb3f
......@@ -63,17 +63,17 @@ index bae6ae7c45..74fd72a2c0 100644
- __spin_lock (&ss->lock);
+ _hurd_sigstate_lock (ss);
if (oset)
if (oset != NULL)
*oset = ss->blocked;
@@ -66,7 +68,13 @@ __pthread_sigstate (struct __pthread *thread, int how,
if (! err && clear_pending)
if (!err && clear_pending)
__sigemptyset (&ss->pending);
- __spin_unlock (&ss->lock);
+ pending = _hurd_sigstate_pending (ss) & ~ss->blocked;
+ _hurd_sigstate_unlock (ss);
+
+ if (! err && pending)
+ if (!err && pending)
+ /* Send a message to the signal thread so it
+ will wake up and check for pending signals. */
+ __msg_sig_post (_hurd_msgport, 0, 0, __mach_task_self ());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment