On Mon, Aug 30, 2010 at 10:59:45AM +0300, Kostik Belousov wrote: > On Mon, Aug 30, 2010 at 12:06:05AM +0000, Pawel Jakub Dawidek wrote: > > Author: pjd > > Date: Mon Aug 30 00:06:05 2010 > > New Revision: 211982 > > URL: http://svn.freebsd.org/changeset/base/211982 > > > > Log: > > Use sigtimedwait(2) for signals handling in primary process. > > This fixes various races and eliminates use of pthread* API in signal > > handler. > > Replying to the random commit. > > In the multithreaded process, after the fork in the child, you shall > not call any not async-signal safe functions. I suppose that hook_execv() > exposes the issue, calling into some stdio functions and sysconf().
Right. It should be fixed it in r212038. Now all the hooks are executed from the main (non-threaded) process. This also makes it easier to drop privs in the worker processes in the future, now that we don't execute anything from them. Thanks for pointing that out. -- Pawel Jakub Dawidek http://www.wheelsystems.com [email protected] http://www.FreeBSD.org FreeBSD committer Am I Evil? Yes, I Am!
pgp4tqVjY1kzH.pgp
Description: PGP signature
