According to the Windows documentation:
The SetConsoleMode function can disable the ENABLE_PROCESSED_INPUT input mode for a console's input buffer, so CTRL+C is reported as keyboard input rather than as a signal.
In the windows implementation, we do:
var newMode uint32
newMode &^= windows.ENABLE_ECHO_INPUT
newMode &^= windows.ENABLE_LINE_INPUT
newMode &^= windows.ENABLE_MOUSE_INPUT
newMode &^= windows.ENABLE_WINDOW_INPUT
newMode &^= windows.ENABLE_PROCESSED_INPUT // This reports CTRL+C as an input rather than as a signal.
newMode |= windows.ENABLE_EXTENDED_FLAGS
newMode |= windows.ENABLE_INSERT_MODE
newMode |= windows.ENABLE_QUICK_EDIT_MODE
I believe it should be changed to newMode |= windows.ENABLE_PROCESSED_INPUT so we keep the signal propagation.
According to the Windows documentation:
In the windows implementation, we do:
I believe it should be changed to
newMode |= windows.ENABLE_PROCESSED_INPUTso we keep the signal propagation.