reactos/dll/ntdll/nt_0600/DllMain.c
Timo Kreuzer 61192390cf
[KERNEL32_VISTA][NTDLL_VISTA][RTL_VISTA] Move Vista Rtl functions from kernel32_vista and ntdll_vista to rtl_vista (#3149)
* Move RtlRunOnce functions from kernel32_vista to rtl_vista and export them from ntdll_vista
* Move condvar.c and srw.c from ntdll_vista to rtl_vista
* Move ntdll_vista build script to a subfolder of ntdll

The RtlRunOnce functions are taken from wine, completely unmodified.
The code that was in kernel32_vista had change that used a global keyed_event handle, but was never initialized, so we were still passing NULL thus using the global ExpCritSecOutOfMemoryEvent.
2020-09-12 15:04:02 +02:00

39 lines
633 B
C

#include <stdarg.h>
#define WIN32_NO_STATUS
#include <windef.h>
#include <winbase.h>
#include <winreg.h>
#include <winuser.h>
#include <winwlx.h>
#include <ndk/rtltypes.h>
#include <ndk/umfuncs.h>
#define NDEBUG
#include <debug.h>
VOID
RtlpInitializeKeyedEvent(VOID);
VOID
RtlpCloseKeyedEvent(VOID);
BOOL
WINAPI
DllMain(HANDLE hDll,
DWORD dwReason,
LPVOID lpReserved)
{
if (dwReason == DLL_PROCESS_ATTACH)
{
LdrDisableThreadCalloutsForDll(hDll);
RtlpInitializeKeyedEvent();
}
else if (dwReason == DLL_PROCESS_DETACH)
{
RtlpCloseKeyedEvent();
}
return TRUE;
}