summaryrefslogtreecommitdiff
path: root/win32/perlhost.h
diff options
context:
space:
mode:
authorDavid Mitchell <davem@iabyn.com>2009-08-05 14:20:29 +0100
committerDavid Mitchell <davem@iabyn.com>2009-08-05 14:20:29 +0100
commit240bfeb992996de28603a7f9e3ee34ecc6e3f286 (patch)
tree82c64d89dd4f9f9bc5ee8a78bef1b38bba9da04a /win32/perlhost.h
parent46a76da79aa70ae5c77ffe23d8c6e303c7c67ce2 (diff)
downloadperl-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.h3
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,