Commit c4fb3bfe authored by Damon Harris's avatar Damon Harris
Browse files

Add support for console control signals in Windows

parent b7a16522
o Minor features (windows):
- Add support for console control signals like Ctrl+C in Windows
Closes ticket 34211. Patch from Damon Harris (TheDcoder).
......@@ -294,6 +294,19 @@ process_signal(int sig)
}
}
#ifdef _WIN32
/** Activate SIGINT on reciving a control signal in console */
static BOOL WINAPI
process_win32_console_ctrl(DWORD ctrl_type)
{
/* Ignore type of the ctrl signal */
(void) ctrl_type;
activate_signal(SIGINT);
return TRUE;
}
#endif
/**
* Write current memory usage information to the log.
*/
......@@ -496,6 +509,13 @@ handle_signals(void)
&signal_handlers[i].signal_value);
}
}
#ifdef _WIN32
/* Windows lacks traditional POSIX signals but WinAPI provides a function
* to handle control signals like Ctrl+C in the console, we can use this to
* simulate the SIGINT signal */
if (enabled) SetConsoleCtrlHandler(process_win32_console_ctrl, TRUE);
#endif
}
/* Cause the signal handler for signal_num to be called in the event loop. */
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment