From: Gurusamy Sarathy Date: Sun, 11 May 2003 15:37:14 +0000 (+0000) Subject: fix Embed.t failure on windows: PERL_SYS_TERM() is implemented X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=23f519f064273e3cc195f02d4e0e49cf7c9329a8;p=p5sagit%2Fp5-mst-13.2.git fix Embed.t failure on windows: PERL_SYS_TERM() is implemented in terms of an exported function rather than as an inlined macro (latter wants PL_op_mutex which isn't exported as such) Jarkko: please merge into maint-5.8 p4raw-id: //depot/perl@19484 --- diff --git a/dosish.h b/dosish.h index b3d86e5..6828baf 100644 --- a/dosish.h +++ b/dosish.h @@ -30,6 +30,7 @@ #else /* DJGPP */ # ifdef WIN32 # define PERL_SYS_INIT(c,v) Perl_win32_init(c,v) +# define PERL_SYS_TERM() Perl_win32_term() # define BIT_BUCKET "nul" # else # ifdef NETWARE @@ -42,7 +43,9 @@ # endif #endif /* DJGPP */ -#define PERL_SYS_TERM() OP_REFCNT_TERM; MALLOC_TERM +#ifndef PERL_SYS_TERM +# define PERL_SYS_TERM() OP_REFCNT_TERM; MALLOC_TERM +#endif #define dXSUB_SYS /* diff --git a/makedef.pl b/makedef.pl index d239d16..74773fb 100644 --- a/makedef.pl +++ b/makedef.pl @@ -1006,6 +1006,7 @@ if ($PLATFORM =~ /^win(?:32|ce)$/) { Perl_init_os_extras Perl_thread_create Perl_win32_init + Perl_win32_term RunPerl win32_async_check win32_errno diff --git a/win32/win32.c b/win32/win32.c index f3281f3..c409203 100644 --- a/win32/win32.c +++ b/win32/win32.c @@ -4884,6 +4884,13 @@ Perl_win32_init(int *argcp, char ***argvp) } void +Perl_win32_term(void) +{ + OP_REFCNT_TERM; + MALLOC_TERM; +} + +void win32_get_child_IO(child_IO_table* ptbl) { ptbl->childStdIn = GetStdHandle(STD_INPUT_HANDLE); diff --git a/win32/win32.h b/win32/win32.h index 01b22f1..f4102c3 100644 --- a/win32/win32.h +++ b/win32/win32.h @@ -275,6 +275,7 @@ extern int mkstemp(const char *path); #define init_os_extras Perl_init_os_extras DllExport void Perl_win32_init(int *argcp, char ***argvp); +DllExport void Perl_win32_term(void); DllExport void Perl_init_os_extras(void); DllExport void win32_str_os_error(void *sv, DWORD err); DllExport int RunPerl(int argc, char **argv, char **env);