mirror of
https://github.com/reactos/reactos.git
synced 2024-09-30 22:47:28 +00:00
[CRT/MINGW-W64]
* Reorganize dll entry and C runtime initialization. By Kai Tietz. svn path=/trunk/; revision=51504
This commit is contained in:
parent
426f261823
commit
dd8253dc8c
28
reactos/lib/3rdparty/mingw/crtdll.c
vendored
28
reactos/lib/3rdparty/mingw/crtdll.c
vendored
|
@ -180,33 +180,33 @@ __DllMainCRTStartup (HANDLE hDllHandle, DWORD dwReason, LPVOID lpreserved)
|
|||
goto i__leave;
|
||||
}
|
||||
_pei386_runtime_relocator ();
|
||||
if (retcode && dwReason == DLL_PROCESS_ATTACH)
|
||||
__main ();
|
||||
if (dwReason == DLL_PROCESS_ATTACH || dwReason == DLL_THREAD_ATTACH)
|
||||
{
|
||||
retcode = _CRT_INIT (hDllHandle, dwReason, lpreserved);
|
||||
if (!retcode)
|
||||
goto i__leave;
|
||||
retcode = DllEntryPoint (hDllHandle, dwReason, lpreserved);
|
||||
if (retcode)
|
||||
retcode = _CRT_INIT (hDllHandle, dwReason, lpreserved);
|
||||
if (! retcode)
|
||||
goto i__leave;
|
||||
{
|
||||
if (dwReason == DLL_PROCESS_ATTACH)
|
||||
_CRT_INIT (hDllHandle, DLL_PROCESS_DETACH, lpreserved);
|
||||
goto i__leave;
|
||||
}
|
||||
}
|
||||
if (dwReason == DLL_PROCESS_ATTACH)
|
||||
__main ();
|
||||
retcode = DllMain(hDllHandle,dwReason,lpreserved);
|
||||
if ((dwReason == DLL_PROCESS_ATTACH) && ! retcode)
|
||||
if (dwReason == DLL_PROCESS_ATTACH && ! retcode)
|
||||
{
|
||||
DllMain (hDllHandle, DLL_PROCESS_DETACH, lpreserved);
|
||||
_CRT_INIT (hDllHandle, DLL_PROCESS_DETACH, lpreserved);
|
||||
DllEntryPoint (hDllHandle, DLL_PROCESS_DETACH, lpreserved);
|
||||
_CRT_INIT (hDllHandle, DLL_PROCESS_DETACH, lpreserved);
|
||||
}
|
||||
if (dwReason == DLL_PROCESS_DETACH || dwReason == DLL_THREAD_DETACH)
|
||||
{
|
||||
retcode = DllEntryPoint (hDllHandle, dwReason, lpreserved);
|
||||
if (_CRT_INIT (hDllHandle, dwReason, lpreserved) == FALSE)
|
||||
{
|
||||
retcode = FALSE;
|
||||
}
|
||||
if (retcode)
|
||||
{
|
||||
retcode = DllEntryPoint (hDllHandle, dwReason, lpreserved);
|
||||
}
|
||||
retcode = FALSE;
|
||||
}
|
||||
i__leave:
|
||||
__native_dllmain_reason = UINT_MAX;
|
||||
|
|
Loading…
Reference in a new issue