X-Git-Url: http://nsz.repo.hu/git/?p=musl;a=blobdiff_plain;f=src%2Fthread%2Fpthread_atfork.c;h=a7a82016d84736cb81de03dbaf53d0c91734cde9;hp=0773dc8f4d36e924cd11e0eb711cf1f3a42b2ab8;hb=28af39fe427ffec8b836f4f30450ffc30b03e5c4;hpb=e9417fffb39c299e556c5ad0c1545f0c02618e3c diff --git a/src/thread/pthread_atfork.c b/src/thread/pthread_atfork.c index 0773dc8f..a7a82016 100644 --- a/src/thread/pthread_atfork.c +++ b/src/thread/pthread_atfork.c @@ -10,9 +10,10 @@ static struct atfork_funcs { static int lock; -static void fork_handler(int who) +void __fork_handler(int who) { struct atfork_funcs *p; + if (!funcs) return; if (who < 0) { LOCK(&lock); for (p=funcs; p; p = p->next) { @@ -35,7 +36,6 @@ int pthread_atfork(void (*prepare)(void), void (*parent)(void), void (*child)(vo if (!new) return -1; LOCK(&lock); - libc.fork_handler = fork_handler; new->next = funcs; new->prev = 0; new->prepare = prepare;