diff options
author | Steve Hay <SteveHay@planit.com> | 2006-12-04 14:31:08 +0000 |
---|---|---|
committer | Steve Hay <SteveHay@planit.com> | 2006-12-04 14:31:08 +0000 |
commit | c254be07ec6b40dded57c0e5907b1bdfaf3d828d (patch) | |
tree | 7e6a88b958c428fda7e4fe234ae2453ec0c28e23 /win32/wince.c | |
parent | b62d2d15211eac1c5b0041f838bdf37abe63e1ac (diff) | |
download | perl-c254be07ec6b40dded57c0e5907b1bdfaf3d828d.tar.gz |
Change #29424 may well be correct in itself, but currently doesn't
work when perl is built with PERL_IMPLICIT_SYS because PERLIO_TERM
uses PerlMemShared_free() which, in that case, involves the perlhost
that has already been freed itself by perl_free(), which is called
before PERL_SYS_TERM().
The order of perl_destruct(), perl_free(), PERL_SYS_TERM() cannot
be changed (it is advertised in perlembed for a start), so just
revert #29424 and the appropriate parts of #29442 for now.
Perhaps PL_perlio_fd_refcnt needs allocating differently, or else
the perlhost needs freeing later (after PerlIO)?
p4raw-id: //depot/perl@29451
Diffstat (limited to 'win32/wince.c')
-rw-r--r-- | win32/wince.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/win32/wince.c b/win32/wince.c index 846a33b800..6e876a8030 100644 --- a/win32/wince.c +++ b/win32/wince.c @@ -2660,10 +2660,11 @@ Perl_win32_init(int *argcp, char ***argvp) DllExport void Perl_win32_term(void) { - dTHX; HINTS_REFCNT_TERM; OP_REFCNT_TERM; - PERLIO_TERM; + /* Can't call PERLIO_TERM here because that calls PerlMemShared_free() + * but we're too late for that (at least when using PERL_IMPLICIT_SYS) + * since we've already done perl_free(). */ MALLOC_TERM; } |