Store the kernel32 module handle globally to avoid some
GetModuleHandle calls that can cause deadlocks with the loader
section.
Moved some 16-bit definitions out of kernel_private.h.
diff --git a/dlls/kernel/process.c b/dlls/kernel/process.c
index ce569f5..c4ac1ea 100644
--- a/dlls/kernel/process.c
+++ b/dlls/kernel/process.c
@@ -64,6 +64,7 @@
static unsigned int server_startticks;
int main_create_flags = 0;
+HMODULE kernel32_handle = 0;
/* Process flags */
#define PDB32_DEBUGGED 0x0001 /* Process is being debugged */
@@ -613,6 +614,7 @@
*/
static BOOL process_init( char *argv[], char **environ )
{
+ static const WCHAR kernel32W[] = {'k','e','r','n','e','l','3','2',0};
BOOL ret;
size_t info_size = 0;
RTL_USER_PROCESS_PARAMETERS *params;
@@ -698,6 +700,8 @@
params->hStdError = hstderr;
}
+ kernel32_handle = GetModuleHandleW(kernel32W);
+
LOCALE_Init();
/* Copy the parent environment */