Fwd: Signals and an exiting thread

From: Justin Hibbits <jrh29_at_alumni.cwru.edu>
Date: Sat, 10 Oct 2009 09:39:38 -0400
I really need to change gmail to reply to all by default.

---------- Forwarded message ----------
From: Justin Hibbits <jrh29_at_alumni.cwru.edu>
Date: Sat, Oct 10, 2009 at 9:38 AM
Subject: Re: Signals and an exiting thread
To: David Xu <davidxu_at_freebsd.org>


On Sat, Oct 10, 2009 at 1:25 AM, David Xu <davidxu_at_freebsd.org> wrote:

> Kostik Belousov wrote:
>
>  I agree that postponing assignment of the thread for signal delivery
>> till the actual delivery occurs is the proper fix. I tried to cheat
>> in my previous patch. Below is an experimental change that did very
>> minimal testing.
>> <snip>
>>
>
> Even if the signal is put into process's signal queue, it is still
> possible that signal notification is lost because selected thread
> exits before seeing it, if other threads are sleeping, they are
> not notified, this leaves signal in process queue long time before
> it can be delivered to userland.


Unless they're in an uninterruptible sleep, wouldn't they be woken when the
signal is processed?  It might need work to give a second pass over the
threads after one dies, but I think that could be done when handling the
next task schedule.

- Justin
Received on Sat Oct 10 2009 - 11:39:39 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:56 UTC