On Tue, Feb 1, 2011 at 10:32 AM, Daniel P. Berrange <berra...@redhat.com> wrote: > There is a subtle problem with using fork() in a multi-threaded > program that I was recently made aware of in libvirt. In short > if you have a multi-threaded program that calls fork(), then > the child process must only use POSIX functions that are > declared 'async signal safe', until the child calls exec() or > exit(). In particular any malloc()/free() related functions > are *not* async signal safe.
In this particular patch the fork() call happens quite early so the risk should be low but it would be nice to investigate this issue fully. Stefan