Date: Sat, 10 Oct 2009 13:25:16 +0800 From: David Xu <davidxu@freebsd.org> To: Kostik Belousov <kostikbel@gmail.com> Cc: freebsd-current@freebsd.org, Jilles Tjoelker <jilles@stack.nl>, Justin Teller <justin.teller@gmail.com> Subject: Re: Signals and an exiting thread Message-ID: <4AD01ABC.50901@freebsd.org> In-Reply-To: <20091005192144.GA2259@deviant.kiev.zoral.com.ua> References: <c47019cc0909301102y189a0b8aq47d23efae549f4ab@mail.gmail.com> <20091001120730.GR3130@deviant.kiev.zoral.com.ua> <20091002201213.GA16633@stack.nl> <20091005192144.GA2259@deviant.kiev.zoral.com.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4AD01ABC.50901>