diff options
-rw-r--r-- | miniperlmain.c | 6 | ||||
-rw-r--r-- | perl.c | 14 |
2 files changed, 10 insertions, 10 deletions
diff --git a/miniperlmain.c b/miniperlmain.c index ed28f47f2a..620fed78b2 100644 --- a/miniperlmain.c +++ b/miniperlmain.c @@ -48,6 +48,12 @@ main(int argc, char **argv, char **env) PERL_SYS_INIT3(&argc,&argv,&env); +#ifdef USE_ITHREADS + PTHREAD_ATFORK(Perl_atfork_lock, + Perl_atfork_unlock, + Perl_atfork_unlock); +#endif + if (!PL_do_undump) { my_perl = perl_alloc(); if (!my_perl) @@ -59,12 +59,9 @@ static I32 read_e_script(pTHXo_ int idx, SV *buf_sv, int maxlen); #else # if defined(USE_ITHREADS) -static void S_atfork_lock(void); -static void S_atfork_unlock(void); - /* this is called in parent before the fork() */ -static void -S_atfork_lock(void) +void +Perl_atfork_lock(void) { /* locks must be held in locking order (if any) */ #ifdef MYMALLOC @@ -74,8 +71,8 @@ S_atfork_lock(void) } /* this is called in both parent and child after the fork() */ -static void -S_atfork_unlock(void) +void +Perl_atfork_unlock(void) { /* locks must be released in same order as in S_atfork_lock() */ #ifdef MYMALLOC @@ -92,9 +89,6 @@ S_atfork_unlock(void) ALLOC_THREAD_KEY; \ PERL_SET_THX(my_perl); \ OP_REFCNT_INIT; \ - PTHREAD_ATFORK(S_atfork_lock, \ - S_atfork_unlock, \ - S_atfork_unlock); \ } \ else { \ PERL_SET_THX(my_perl); \ |