diff options
author | David Mitchell <davem@iabyn.com> | 2009-08-05 14:20:29 +0100 |
---|---|---|
committer | David Mitchell <davem@iabyn.com> | 2009-08-05 14:20:29 +0100 |
commit | 240bfeb992996de28603a7f9e3ee34ecc6e3f286 (patch) | |
tree | 82c64d89dd4f9f9bc5ee8a78bef1b38bba9da04a /win32/perlhost.h | |
parent | 46a76da79aa70ae5c77ffe23d8c6e303c7c67ce2 (diff) | |
download | perl-240bfeb992996de28603a7f9e3ee34ecc6e3f286.tar.gz |
add CLONEf_KEEP_PTR_TABLE to win fork emulation.
This keeps the ptr-table table around after the thread has been created.
This has been on for user threads for a while now, but not for
Windows forks. Turns out that Variable::Magic relies on the table still
being there, so crashes under windows forks. This increases memory usage
per fork, but stops things crashing. Sigh.
[perl #66158]
Diffstat (limited to 'win32/perlhost.h')
-rw-r--r-- | win32/perlhost.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/win32/perlhost.h b/win32/perlhost.h index c2473c93f7..c02d4096c1 100644 --- a/win32/perlhost.h +++ b/win32/perlhost.h @@ -1836,7 +1836,8 @@ PerlProcFork(struct IPerlProc* piPerl) } h = new CPerlHost(*(CPerlHost*)w32_internal_host); PerlInterpreter *new_perl = perl_clone_using((PerlInterpreter*)aTHX, - CLONEf_COPY_STACKS, + CLONEf_COPY_STACKS + | CLONEf_KEEP_PTR_TABLE, h->m_pHostperlMem, h->m_pHostperlMemShared, h->m_pHostperlMemParse, |