Date: Sat, 10 Oct 2009 09:39:38 -0400 From: Justin Hibbits <jrh29@alumni.cwru.edu> To: FreeBSD Current <freebsd-current@freebsd.org> Subject: Fwd: Signals and an exiting thread Message-ID: <fd9cd3450910100639m7fd25ab3xad705452c4d4798e@mail.gmail.com> In-Reply-To: <fd9cd3450910100638v6f361e9dscdc0ae4e255881b8@mail.gmail.com> References: <c47019cc0909301102y189a0b8aq47d23efae549f4ab@mail.gmail.com> <20091001120730.GR3130@deviant.kiev.zoral.com.ua> <20091002201213.GA16633@stack.nl> <20091005192144.GA2259@deviant.kiev.zoral.com.ua> <4AD01ABC.50901@freebsd.org> <fd9cd3450910100638v6f361e9dscdc0ae4e255881b8@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
I really need to change gmail to reply to all by default. ---------- Forwarded message ---------- From: Justin Hibbits <jrh29@alumni.cwru.edu> Date: Sat, Oct 10, 2009 at 9:38 AM Subject: Re: Signals and an exiting thread To: David Xu <davidxu@freebsd.org> On Sat, Oct 10, 2009 at 1:25 AM, David Xu <davidxu@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?fd9cd3450910100639m7fd25ab3xad705452c4d4798e>