summaryrefslogtreecommitdiff
path: root/win32/perllib.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 /win32/perllib.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 'win32/perllib.c')
-rw-r--r--win32/perllib.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/win32/perllib.c b/win32/perllib.c
index 1a9fa9f438..87b79c031d 100644
--- a/win32/perllib.c
+++ b/win32/perllib.c
@@ -370,9 +370,12 @@ DllMain(HANDLE hModule, /* DLL module handle */
* process termination or call to FreeLibrary.
*/
case DLL_PROCESS_DETACH:
-#if !defined(PERLIO_IS_STDIO) && !defined(USE_SFIO)
- PerlIO_cleanup();
-#endif
+ /* As long as we use TerminateProcess()/TerminateThread() etc. for mimicing kill()
+ anything here had better be harmless if:
+ A. Not called at all.
+ B. Called after memory allocation for Heap has been forcibly removed by OS.
+ PerlIO_cleanup() was done here but fails (B).
+ */
EndSockets();
#if defined(USE_THREADS) || defined(USE_ITHREADS)
if (PL_curinterp)