conhost: Ignore CONTROL_C_EXIT exceptions in Unix mode.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50304 Signed-off-by: Jacek Caban <jacek@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
2265db40e7
commit
d7d315ddf4
|
@ -2674,6 +2674,14 @@ static int main_loop( struct console *console, HANDLE signal )
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static LONG WINAPI handle_ctrl_c( EXCEPTION_POINTERS *eptr )
|
||||||
|
{
|
||||||
|
if (eptr->ExceptionRecord->ExceptionCode != CONTROL_C_EXIT) return EXCEPTION_CONTINUE_SEARCH;
|
||||||
|
/* In Unix mode, ignore ctrl c exceptions. Signals are sent it to clients as well and we will
|
||||||
|
* terminate the usual way if they don't handle it. */
|
||||||
|
return EXCEPTION_CONTINUE_EXECUTION;
|
||||||
|
}
|
||||||
|
|
||||||
int __cdecl wmain(int argc, WCHAR *argv[])
|
int __cdecl wmain(int argc, WCHAR *argv[])
|
||||||
{
|
{
|
||||||
int headless = 0, i, width = 0, height = 0;
|
int headless = 0, i, width = 0, height = 0;
|
||||||
|
@ -2763,5 +2771,7 @@ int __cdecl wmain(int argc, WCHAR *argv[])
|
||||||
ShowWindow( console.win, (si.dwFlags & STARTF_USESHOWWINDOW) ? si.wShowWindow : SW_SHOW );
|
ShowWindow( console.win, (si.dwFlags & STARTF_USESHOWWINDOW) ? si.wShowWindow : SW_SHOW );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (console.is_unix) RtlAddVectoredExceptionHandler( FALSE, handle_ctrl_c );
|
||||||
|
|
||||||
return main_loop( &console, signal );
|
return main_loop( &console, signal );
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue