This is the mail archive of the
libc-help@sourceware.org
mailing list for the glibc project.
Re: Concurrency semantics of fork
- From: Ian Pilcher <arequipeno at gmail dot com>
- To: libc-help at sourceware dot org
- Date: Thu, 12 Nov 2015 12:16:49 -0600
- Subject: Re: Concurrency semantics of fork
- Authentication-results: sourceware.org; auth=none
- References: <56389D0F dot 5030305 at redhat dot com> <5640D977 dot 6090100 at linaro dot org> <56413D36 dot 7000409 at redhat dot com>
On 11/09/2015 06:41 PM, Carlos O'Donell wrote:
Assume a lockless malloc implementation and then fork. What guarantees does
the child have with regards to the state of the structures in such a malloc
implementation?
POSIX explicitly says that you can't make any assumptions about the
state of a multi-threaded application after calling fork. Thus you're
only allowed to call async-safe functions between fork and one of the
exec functions.
http://pubs.opengroup.org/onlinepubs/9699919799/functions/fork.html
http://www.linuxprogrammingblog.com/threads-and-fork-think-twice-before-using-them
--
========================================================================
Ian Pilcher arequipeno@gmail.com
-------- "I grew up before Mark Zuckerberg invented friendship" --------
========================================================================