From 645c0cc63cb2f4d6cdac7bb41dee9d864a3ac5e7 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Sun, 5 Feb 2006 12:20:40 +0100 Subject: [PATCH] kernel: Set the console flag in the parent for CREATE_NEW_PROCESS_GROUP. --- dlls/kernel/kernel_main.c | 3 --- dlls/kernel/process.c | 6 ++++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/dlls/kernel/kernel_main.c b/dlls/kernel/kernel_main.c index a9b76f19db7..f5bf27cec8f 100644 --- a/dlls/kernel/kernel_main.c +++ b/dlls/kernel/kernel_main.c @@ -156,9 +156,6 @@ static BOOL process_attach(void) */ } - if (main_create_flags & CREATE_NEW_PROCESS_GROUP) - SetConsoleCtrlHandler(NULL, TRUE); - /* Create 16-bit task */ LoadLibrary16( "krnl386.exe" ); thread_attach(); diff --git a/dlls/kernel/process.c b/dlls/kernel/process.c index bf2b392a3f6..1aa29a4a9ac 100644 --- a/dlls/kernel/process.c +++ b/dlls/kernel/process.c @@ -1387,7 +1387,7 @@ static int fork_and_exec( const char *filename, const WCHAR *cmdline, * create_user_params */ static RTL_USER_PROCESS_PARAMETERS *create_user_params( LPCWSTR filename, LPCWSTR cmdline, - LPCWSTR cur_dir, LPWSTR env, + LPCWSTR cur_dir, LPWSTR env, DWORD flags, const STARTUPINFOW *startup ) { RTL_USER_PROCESS_PARAMETERS *params; @@ -1425,6 +1425,8 @@ static RTL_USER_PROCESS_PARAMETERS *create_user_params( LPCWSTR filename, LPCWST return NULL; } + if (flags & CREATE_NEW_PROCESS_GROUP) params->ConsoleFlags = 1; + params->hStdInput = startup->hStdInput; params->hStdOutput = startup->hStdOutput; params->hStdError = startup->hStdError; @@ -1467,7 +1469,7 @@ static BOOL create_process( HANDLE hFile, LPCWSTR filename, LPWSTR cmd_line, LPW if (!env) RtlAcquirePebLock(); - if (!(params = create_user_params( filename, cmd_line, cur_dir, env, startup ))) + if (!(params = create_user_params( filename, cmd_line, cur_dir, env, flags, startup ))) { if (!env) RtlReleasePebLock(); return FALSE;