diff options
author | Gurusamy Sarathy <gsar@cpan.org> | 2000-07-04 04:37:00 +0000 |
---|---|---|
committer | Gurusamy Sarathy <gsar@cpan.org> | 2000-07-04 04:37:00 +0000 |
commit | 6c644e7885bc20d759d8cbcb4abaa8f14113c03b (patch) | |
tree | b06fea5a3d3af10fdc606d828bd9917dfbb7831e /win32/win32.c | |
parent | 612f20c37ac59506501c890e7f9285f551c793d2 (diff) | |
download | perl-6c644e7885bc20d759d8cbcb4abaa8f14113c03b.tar.gz |
fix memory leak on Windows (PL_sys_intern contents were never
freed)
p4raw-id: //depot/perl@6299
Diffstat (limited to 'win32/win32.c')
-rw-r--r-- | win32/win32.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/win32/win32.c b/win32/win32.c index c589ff5e88..750f6fb9c6 100644 --- a/win32/win32.c +++ b/win32/win32.c @@ -4032,6 +4032,8 @@ win32_get_child_IO(child_IO_table* ptbl) # define Perl_sys_intern_init CPerlObj::Perl_sys_intern_init # undef Perl_sys_intern_dup # define Perl_sys_intern_dup CPerlObj::Perl_sys_intern_dup +# undef Perl_sys_intern_clear +# define Perl_sys_intern_clear CPerlObj::Perl_sys_intern_clear # define pPerl this # endif @@ -4066,6 +4068,18 @@ Perl_sys_intern_dup(pTHX_ struct interp_intern *src, struct interp_intern *dst) Newz(1313, dst->pseudo_children, 1, child_tab); dst->thr_intern.Winit_socktype = src->thr_intern.Winit_socktype; } + +void +Perl_sys_intern_clear(pTHX) +{ + Safefree(w32_perlshell_tokens); + Safefree(w32_perlshell_vec); + /* NOTE: w32_fdpid is freed by sv_clean_all() */ + Safefree(w32_children); +# ifdef USE_ITHREADS + Safefree(w32_pseudo_children); +# endif +} # endif /* USE_ITHREADS */ #endif /* HAVE_INTERP_INTERN */ |