From: Eric Pouech epouech@codeweavers.com
Signed-off-by: Eric Pouech epouech@codeweavers.com --- dlls/kernel32/tests/console.c | 1 - dlls/kernelbase/console.c | 5 ++++- 2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/dlls/kernel32/tests/console.c b/dlls/kernel32/tests/console.c index 1e9bc48f94b..03491b279af 100644 --- a/dlls/kernel32/tests/console.c +++ b/dlls/kernel32/tests/console.c @@ -5360,7 +5360,6 @@ static void test_CtrlHandlerSubsystem(void) ret = GetExitCodeProcess(info.hProcess, &exit_code); ok(ret, "Couldn't get exit code\n");
- todo_wine ok(exit_code == STATUS_CONTROL_C_EXIT, "Unexpected exit code %#lx, instead of %#lx\n", exit_code, STATUS_CONTROL_C_EXIT); } diff --git a/dlls/kernelbase/console.c b/dlls/kernelbase/console.c index 10c8bb25037..97c5462c42f 100644 --- a/dlls/kernelbase/console.c +++ b/dlls/kernelbase/console.c @@ -72,7 +72,10 @@ struct ctrl_handler static BOOL WINAPI default_ctrl_handler( DWORD type ) { FIXME( "Terminating process %lx on event %lx\n", GetCurrentProcessId(), type ); - RtlExitUserProcess( 0 ); + if (type == CTRL_C_EVENT || type == CTRL_BREAK_EVENT) + RtlExitUserProcess( STATUS_CONTROL_C_EXIT ); + else + RtlExitUserProcess( 0 ); return TRUE; }