[Gc] [PATCH] define HANDLE_FORK on unix platforms with pthreads

Andy Wingo wingo at pobox.com
Tue Feb 21 01:36:04 PST 2012

Thanks for the comments, Hans!

On Tue 21 Feb 2012 00:16, "Boehm, Hans" <hans.boehm at hp.com> writes:

> I believe the reason this was not enabled by default is that Posix
> doesn't allow calling memory allocation functions such as malloc()
> between fork and exec either.  Thus AFAIK, this is a workaround for a
> problem not introduced by the garbage collector.

Can you cite this?  I am having a hard time finding this one.

There is the issue of fork from signal handlers, as well, but that is a
separate issue:


> It may still be a good idea to turn it on.  I don't know whether glibc
> and malloc implementations normally try to handle this case correctly
> for standard malloc.

It seems that glibc does install atfork handlers for a number of
things.  See for example:


Also see other uses of "thread_atfork" internal to glibc.



More information about the Gc mailing list