diff --git a/common/os_calls.c b/common/os_calls.c index 84bba282..3d7cd2d0 100644 --- a/common/os_calls.c +++ b/common/os_calls.c @@ -1731,6 +1731,61 @@ g_signal_child_stop(void (*func)(int)) #endif } +/*****************************************************************************/ +/* does not work in win32 */ +void APP_CC +g_signal_hang_up(void (*func)(int)) +{ +#if defined(_WIN32) +#else + signal(SIGHUP, func); +#endif +} + +/*****************************************************************************/ +/* does not work in win32 */ +void APP_CC +g_signal_user_interrupt(void (*func)(int)) +{ +#if defined(_WIN32) +#else + signal(SIGINT, func); +#endif +} + +/*****************************************************************************/ +/* does not work in win32 */ +void APP_CC +g_signal_kill(void (*func)(int)) +{ +#if defined(_WIN32) +#else + signal(SIGKILL, func); +#endif +} + +/*****************************************************************************/ +/* does not work in win32 */ +void APP_CC +g_signal_terminate(void (*func)(int)) +{ +#if defined(_WIN32) +#else + signal(SIGTERM, func); +#endif +} + +/*****************************************************************************/ +/* does not work in win32 */ +void APP_CC +g_signal_pipe(void (*func)(int)) +{ +#if defined(_WIN32) +#else + signal(SIGPIPE, func); +#endif +} + /*****************************************************************************/ /* does not work in win32 */ int APP_CC diff --git a/common/os_calls.h b/common/os_calls.h index 581d1a3c..3984bf7a 100644 --- a/common/os_calls.h +++ b/common/os_calls.h @@ -198,6 +198,16 @@ void APP_CC g_signal(int sig_num, void (*func)(int)); void APP_CC g_signal_child_stop(void (*func)(int)); +void APP_CC +g_signal_hang_up(void (*func)(int)); +void APP_CC +g_signal_user_interrupt(void (*func)(int)); +void APP_CC +g_signal_kill(void (*func)(int)); +void APP_CC +g_signal_terminate(void (*func)(int)); +void APP_CC +g_signal_pipe(void (*func)(int)); int APP_CC g_fork(void); int APP_CC