#include "interrupt.h"
Flag interrupt;
-static struct sigaction sa = {0};
+
+#ifdef _WIN32
+
+// just the signals we need, for Win32
+static const char *strsignal(int sig)
+{
+ switch (sig) {
+ case SIGINT:
+ return "Interrupted";
+
+ case SIGTERM:
+ return "Terminated";
+
+ default:
+ return "Unknown signal";
+ }
+}
+
+#endif // _WIN32
static void interrupt_handler(int sig)
{
{
flag_ini(&interrupt);
+#ifdef _WIN32
+ signal(SIGINT, interrupt_handler);
+ signal(SIGTERM, interrupt_handler);
+#else // _WIN32
+ struct sigaction sa = {0};
sa.sa_handler = &interrupt_handler;
sigaction(SIGINT, &sa, NULL);
sigaction(SIGTERM, &sa, NULL);
+#endif // _WIN32
}
void interrupt_deinit()