In perl.git, the branch blead has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/682bcedc3ef5348ecab8a792e6fcfecb1709b024?hp=c07671d7439660780f82b47a35f6ff224e370dba>

- Log -----------------------------------------------------------------
commit 682bcedc3ef5348ecab8a792e6fcfecb1709b024
Author: David Mitchell <[email protected]>
Date:   Wed Aug 5 15:25:58 2009 +0100

    Revert "add CLONEf_KEEP_PTR_TABLE to win fork emulation."
    
    This reverts commit 240bfeb992996de28603a7f9e3ee34ecc6e3f286.
    
    (its now fixed in a better way in 136e7e597c0d85149921561591710bc54123b221)

M       win32/perlhost.h

commit b0b93b3c773176a99136baa97661d11503277415
Author: David Mitchell <[email protected]>
Date:   Wed Aug 5 15:23:41 2009 +0100

    in perl_clone_using, free the prt_table
    *after* we have called any CLONE methods
    (better fix for Variable::Magic than 240bfeb992)

M       sv.c
-----------------------------------------------------------------------

Summary of changes:
 sv.c             |   11 ++++++-----
 win32/perlhost.h |    3 +--
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/sv.c b/sv.c
index 8bfe441..a22316c 100644
--- a/sv.c
+++ b/sv.c
@@ -12349,11 +12349,6 @@ perl_clone_using(PerlInterpreter *proto_perl, UV flags,
 
     PL_registered_mros  = hv_dup_inc(proto_perl->Iregistered_mros, param);
 
-    if (!(flags & CLONEf_KEEP_PTR_TABLE)) {
-        ptr_table_free(PL_ptr_table);
-        PL_ptr_table = NULL;
-    }
-
     /* Call the ->CLONE method, if it exists, for each of the stashes
        identified by sv_dup() above.
     */
@@ -12373,6 +12368,12 @@ perl_clone_using(PerlInterpreter *proto_perl, UV flags,
        }
     }
 
+    if (!(flags & CLONEf_KEEP_PTR_TABLE)) {
+        ptr_table_free(PL_ptr_table);
+        PL_ptr_table = NULL;
+    }
+
+
     SvREFCNT_dec(param->stashes);
 
     /* orphaned? eg threads->new inside BEGIN or use */
diff --git a/win32/perlhost.h b/win32/perlhost.h
index c02d409..c2473c9 100644
--- a/win32/perlhost.h
+++ b/win32/perlhost.h
@@ -1836,8 +1836,7 @@ PerlProcFork(struct IPerlProc* piPerl)
     }
     h = new CPerlHost(*(CPerlHost*)w32_internal_host);
     PerlInterpreter *new_perl = perl_clone_using((PerlInterpreter*)aTHX,
-                                                  CLONEf_COPY_STACKS
-                                                | CLONEf_KEEP_PTR_TABLE,
+                                                CLONEf_COPY_STACKS,
                                                 h->m_pHostperlMem,
                                                 h->m_pHostperlMemShared,
                                                 h->m_pHostperlMemParse,

--
Perl5 Master Repository

Reply via email to