summaryrefslogtreecommitdiff
path: root/perl.c
diff options
context:
space:
mode:
authorNick Ing-Simmons <nik@tiuk.ti.com>2000-12-05 22:07:52 +0000
committerNick Ing-Simmons <nik@tiuk.ti.com>2000-12-05 22:07:52 +0000
commitce3e5b80724e7725765c5559e5f4b0058876fc19 (patch)
tree5cd0b3ba8df8b83f4ba78db41b101fc3e12d8275 /perl.c
parent0a77e2d7f7c1b1af440a8cf545295905853ca727 (diff)
downloadperl-ce3e5b80724e7725765c5559e5f4b0058876fc19.tar.gz
Win32 PERL_IMPLICIT_SYS passes all tests with USE_PERLIO
- calloc/free suffer from damage on TerminateThread() - use PerlMemShared (as originally planned) now fixed - avoid doing anything important on DLL "detach". p4raw-id: //depot/perlio@8001
Diffstat (limited to 'perl.c')
-rw-r--r--perl.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/perl.c b/perl.c
index f1cda0e829..1467df1c15 100644
--- a/perl.c
+++ b/perl.c
@@ -786,12 +786,18 @@ perl_free(pTHXx)
#if defined(PERL_OBJECT)
PerlMem_free(this);
#else
-# if defined(PERL_IMPLICIT_SYS) && defined(WIN32)
+# if defined(WIN32)
+# if defined(PERL_IMPLICIT_SYS)
void *host = w32_internal_host;
- if (PerlProc_lasthost())
+ if (PerlProc_lasthost()) {
PerlIO_cleanup();
+ }
PerlMem_free(aTHXx);
win32_delete_internal_host(host);
+#else
+ PerlIO_cleanup();
+ PerlMem_free(aTHXx);
+#endif
# else
PerlMem_free(aTHXx);
# endif