1 /** @file 2 @brief compat_alarm adds an alarm() function for Windows. 3 4 Except for MinGW-w64 when `_POSIX` and/or `__USE_MINGW_ALARM` 5 is defined 6 */ 7 8 #ifndef INCLUDE_COMPAT_ALARM_H_ 9 #define INCLUDE_COMPAT_ALARM_H_ 10 11 #ifdef _WIN32 12 #include <windows.h> 13 #include <signal.h> 14 #include <io.h> /* alarm() for MinGW is possibly here */ 15 16 #if !defined(_POSIX) && !defined(__USE_MINGW_ALARM) 17 int win_alarm(unsigned seconds); 18 #define alarm(sec) win_alarm(sec) 19 #define HAVE_win_alarm 20 #endif 21 22 /* No SIGUSRx on Windows. Use this unless MinGW-w64 23 * has support for it (untested by me). 24 */ 25 #if !defined(__USE_MINGW_ALARM) 26 #define SIGALRM SIGBREAK 27 #endif 28 29 #endif /* _WIN32 */ 30 #endif /* INCLUDE_COMPAT_ALARM_H_ */ 31