Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 24 Aug 2018 14:10:36 -0500
From:      Eric van Gyzen <eric@vangyzen.net>
To:        Konstantin Belousov <kostikbel@gmail.com>, Gleb Popov <6yearold@gmail.com>
Cc:        freebsd-hackers <freebsd-hackers@freebsd.org>
Subject:   Re: Strange hang when calling signal()
Message-ID:  <4e555da7-9384-0f22-3ef9-8b3661a48529@vangyzen.net>
In-Reply-To: <20180824185328.GE2340@kib.kiev.ua>
References:  <CALH631mtb1Z-4v4%2BUuzCx0tX0Zt5LfoQR9%2Biags-nL7MRUhGLA@mail.gmail.com> <20180824185328.GE2340@kib.kiev.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
On 8/24/18 1:53 PM, Konstantin Belousov wrote:
> Since then, we started locking most of that locks in parent around fork(2),
> all the code in lib/libthr/thread/thr_fork.c.  In particular, we lock rtld,
> malloc, and disable cancellation around fork.  So if your program used fork(2)
> but ended with the broken rtld it is worrying.
> 
> On the other hand, we do not do that for vfork(2).  So yes, the minimal

We also do not do that for rfork(2).  I think we should, but I have not 
done any research into it.

Eric



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4e555da7-9384-0f22-3ef9-8b3661a48529>