[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] Deliver pending signals unblocked by pthread_sigmask.
From: |
Samuel Thibault |
Subject: |
Re: [PATCH] Deliver pending signals unblocked by pthread_sigmask. |
Date: |
Fri, 3 Sep 2010 02:14:30 +0200 |
User-agent: |
Mutt/1.5.12-2006-07-14 |
Jeremie Koenig, le Fri 03 Sep 2010 01:38:29 +0200, a écrit :
> + pending = ss->pending & ~ss->blocked;
> +
> __pthread_spin_unlock (&ss->lock);
>
> + 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 ());
Mmm, more precisely, to follow the POSIX behavior AIUI, rather than
ss->pending it should be a process-global pending mask. E.g. if some
signal comes while all threads are masking it it should get recorded
there, and as soon as any of the threads unblocks the signal, it should
get it.
I guess we can however add the patch as such in the Debian package to at
least fix the single-thread case using pthread_sigmask.
Samuel
- Re: Problems with signal delivery, (continued)
- Re: Problems with signal delivery, Arne Babenhauserheide, 2010/09/02
- Re: Problems with signal delivery, Roland McGrath, 2010/09/02
- Re: Problems with signal delivery, Jeremie Koenig, 2010/09/02
- Re: Problems with signal delivery, Roland McGrath, 2010/09/02
- Re: Problems with signal delivery, Neal H. Walfield, 2010/09/03
- Re: Problems with signal delivery, Samuel Thibault, 2010/09/03
- Re: Problems with signal delivery, Jeremie Koenig, 2010/09/04
Re: Problems with signal delivery, Roland McGrath, 2010/09/02
Re: Problems with signal delivery, Jeremie Koenig, 2010/09/02