#define PERL_SYS_INIT3(argc, argv, env) Perl_sys_init3(argc, argv, env)
####
void
Perl_sys_init3 (int *argc, char ***argv, char ***env)
{
extern int Perl___notused;
(void) ((argc) || (_assert ("argc", "perl.c", 145), 0));
(void) ((argv) || (_assert ("argv", "perl.c", 145), 0));
(void) ((env) || (_assert ("env", "perl.c", 145), 0));
((void) argc);
((void) argv);
((void) env);
Perl_win32_init (argc, argv);
InitializeCriticalSection (&(*Perl_Gperlio_mutex_ptr (0)));
}
####
void
Perl_win32_init (int *argcp, char ***argvp)
{
HMODULE module;
_control87 (0x0008001f, 0x0008001f);
#line 4840 "win32.c"
;
InitCommonControls ();
module = GetModuleHandleA ("ntdll.dll");
if (module)
{
*(FARPROC *) & pfnZwQuerySystemInformation = GetProcAddress (module, "ZwQuerySystemInformation");
}
module = GetModuleHandleA ("kernel32.dll");
if (module)
{
*(FARPROC *) & pfnCreateToolhelp32Snapshot = GetProcAddress (module, "CreateToolhelp32Snapshot");
*(FARPROC *) & pfnProcess32First = GetProcAddress (module, "Process32First");
*(FARPROC *) & pfnProcess32Next = GetProcAddress (module, "Process32Next");
}
g_osver.dwOSVersionInfoSize = sizeof (g_osver);
GetVersionExA (&g_osver);
ansify_path ();
}
####
#define PERL_SYS_TERM() Perl_sys_term()
####
void
Perl_sys_term ()
{
extern int Perl___notused;
if (!(*Perl_Gveto_cleanup_ptr (0)))
{
Perl_win32_term ();
}
}
####
void
Perl_win32_term(void)
{
dTHX;
HINTS_REFCNT_TERM;
OP_REFCNT_TERM;
PERLIO_TERM;
MALLOC_TERM;
}
####
void
Perl_win32_term (void)
{
PerlInterpreter *my_perl = ((PerlInterpreter *) Perl_get_context ());
DeleteCriticalSection (&(*Perl_Ghints_mutex_ptr (0)));
DeleteCriticalSection (&(*Perl_Gop_mutex_ptr (0)));
do
{
PerlIO_teardown ();
DeleteCriticalSection (&(*Perl_Gperlio_mutex_ptr (0)));
}
while (0);
;
}