From: Thomas Faber Date: Sat, 18 Apr 2015 12:15:15 +0000 (+0000) Subject: [MSVCR*] X-Git-Tag: backups/colins-printing-for-freedom@73041~366 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=cbe2b11ed548fa8e37fdaa88e536c04d9d8a196b [MSVCR*] - Don't bother to clean up at process exit (Wine commit 66a54686 by Alexandre Julliard) svn path=/trunk/; revision=67250 --- diff --git a/reactos/dll/win32/crtdll/dllmain.c b/reactos/dll/win32/crtdll/dllmain.c index a8505a796eb..e933f2e9336 100644 --- a/reactos/dll/win32/crtdll/dllmain.c +++ b/reactos/dll/win32/crtdll/dllmain.c @@ -160,6 +160,7 @@ DllMain(PVOID hinstDll, ULONG dwReason, PVOID reserved) TRACE("Detach\n"); /* Deinit of the WINE code */ msvcrt_free_io(); + if (reserved) break; msvcrt_free_mt_locks(); //msvcrt_free_console(); //msvcrt_free_args(); @@ -169,12 +170,12 @@ DllMain(PVOID hinstDll, ULONG dwReason, PVOID reserved) return FALSE; //MSVCRT__free_locale(MSVCRT_locale); - if (__winitenv && __winitenv != _wenviron) + if (__winitenv && __winitenv != _wenviron) FreeEnvironment((char**)__winitenv); if (_wenviron) FreeEnvironment((char**)_wenviron); - if (__initenv && __initenv != _environ) + if (__initenv && __initenv != _environ) FreeEnvironment(__initenv); if (_environ) FreeEnvironment(_environ); diff --git a/reactos/dll/win32/msvcrt/dllmain.c b/reactos/dll/win32/msvcrt/dllmain.c index 5650fe0a431..1576a92b5b7 100644 --- a/reactos/dll/win32/msvcrt/dllmain.c +++ b/reactos/dll/win32/msvcrt/dllmain.c @@ -97,6 +97,7 @@ DllMain(PVOID hinstDll, ULONG dwReason, PVOID reserved) TRACE("Detach\n"); /* Deinit of the WINE code */ msvcrt_free_io(); + if (reserved) break; msvcrt_free_mt_locks(); //msvcrt_free_console(); //msvcrt_free_args(); @@ -107,12 +108,12 @@ DllMain(PVOID hinstDll, ULONG dwReason, PVOID reserved) if(global_locale) MSVCRT__free_locale(global_locale); - if (__winitenv && __winitenv != _wenviron) + if (__winitenv && __winitenv != _wenviron) FreeEnvironment((char**)__winitenv); if (_wenviron) FreeEnvironment((char**)_wenviron); - if (__initenv && __initenv != _environ) + if (__initenv && __initenv != _environ) FreeEnvironment(__initenv); if (_environ) FreeEnvironment(_environ); diff --git a/reactos/dll/win32/msvcrt20/msvcrt20.c b/reactos/dll/win32/msvcrt20/msvcrt20.c index 7377faf7d02..1390cab5f3b 100644 --- a/reactos/dll/win32/msvcrt20/msvcrt20.c +++ b/reactos/dll/win32/msvcrt20/msvcrt20.c @@ -116,6 +116,7 @@ DllMain(PVOID hinstDll, ULONG dwReason, PVOID reserved) TRACE("Detach\n"); /* Deinit of the WINE code */ msvcrt_free_io(); + if (reserved) break; msvcrt_free_mt_locks(); //msvcrt_free_console(); //msvcrt_free_args(); @@ -126,12 +127,12 @@ DllMain(PVOID hinstDll, ULONG dwReason, PVOID reserved) if(global_locale) MSVCRT__free_locale(global_locale); - if (__winitenv && __winitenv != _wenviron) + if (__winitenv && __winitenv != _wenviron) FreeEnvironment((char**)__winitenv); if (_wenviron) FreeEnvironment((char**)_wenviron); - if (__initenv && __initenv != _environ) + if (__initenv && __initenv != _environ) FreeEnvironment(__initenv); if (_environ) FreeEnvironment(_environ); diff --git a/reactos/dll/win32/msvcrt40/msvcrt40.c b/reactos/dll/win32/msvcrt40/msvcrt40.c index bd030c33d9c..76cfffd5eec 100644 --- a/reactos/dll/win32/msvcrt40/msvcrt40.c +++ b/reactos/dll/win32/msvcrt40/msvcrt40.c @@ -112,6 +112,7 @@ DllMain(PVOID hinstDll, ULONG dwReason, PVOID reserved) TRACE("Detach\n"); /* Deinit of the WINE code */ msvcrt_free_io(); + if (reserved) break; msvcrt_free_mt_locks(); //msvcrt_free_console(); //msvcrt_free_args(); @@ -122,12 +123,12 @@ DllMain(PVOID hinstDll, ULONG dwReason, PVOID reserved) if(global_locale) MSVCRT__free_locale(global_locale); - if (__winitenv && __winitenv != _wenviron) + if (__winitenv && __winitenv != _wenviron) FreeEnvironment((char**)__winitenv); if (_wenviron) FreeEnvironment((char**)_wenviron); - if (__initenv && __initenv != _environ) + if (__initenv && __initenv != _environ) FreeEnvironment(__initenv); if (_environ) FreeEnvironment(_environ);