mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 10:04:49 +00:00
[CRT] Do not call atexit at process initialization
There is no guarantee that the underlying APIs are initialized at this point CORE-17362
This commit is contained in:
parent
26863538a4
commit
6c6d9bee68
2 changed files with 9 additions and 5 deletions
|
@ -115,6 +115,10 @@ _CRTALLOC(".CRT$XCAA") _PVFV mingw_pcppinit = pre_cpp_init;
|
||||||
|
|
||||||
extern int _MINGW_INSTALL_DEBUG_MATHERR;
|
extern int _MINGW_INSTALL_DEBUG_MATHERR;
|
||||||
|
|
||||||
|
#ifdef __GNUC__
|
||||||
|
extern void __do_global_dtors(void);
|
||||||
|
#endif
|
||||||
|
|
||||||
static int __cdecl
|
static int __cdecl
|
||||||
pre_c_init (void)
|
pre_c_init (void)
|
||||||
{
|
{
|
||||||
|
@ -211,8 +215,6 @@ int __cdecl mainCRTStartup (void)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
void __call_atexit();
|
|
||||||
|
|
||||||
static
|
static
|
||||||
__declspec(noinline)
|
__declspec(noinline)
|
||||||
int __cdecl
|
int __cdecl
|
||||||
|
@ -326,7 +328,11 @@ __tmainCRTStartup (void)
|
||||||
#endif
|
#endif
|
||||||
mainret = main (argc, argv, envp);
|
mainret = main (argc, argv, envp);
|
||||||
#endif
|
#endif
|
||||||
__call_atexit();
|
|
||||||
|
#ifdef __GNUC__
|
||||||
|
__do_global_dtors();
|
||||||
|
#endif
|
||||||
|
|
||||||
if (!managedapp)
|
if (!managedapp)
|
||||||
exit (mainret);
|
exit (mainret);
|
||||||
|
|
||||||
|
|
|
@ -43,8 +43,6 @@ __do_global_ctors (void)
|
||||||
{
|
{
|
||||||
__CTOR_LIST__[i] ();
|
__CTOR_LIST__[i] ();
|
||||||
}
|
}
|
||||||
|
|
||||||
atexit (__do_global_dtors);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int initialized = 0;
|
static int initialized = 0;
|
||||||
|
|
Loading…
Reference in a new issue