diff options
Diffstat (limited to 'src/signal/raise.c')
-rw-r--r-- | src/signal/raise.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/signal/raise.c b/src/signal/raise.c new file mode 100644 index 00000000..530f893b --- /dev/null +++ b/src/signal/raise.c @@ -0,0 +1,28 @@ +#if defined _POSIX_SOURCE || defined _POSIX_C_SOURCE || defined _XOPEN_SOURCE +#include "sys/types.h" +#include "unistd.h" +#else +#define kill(pid, sig) (sig ? -1 : -1) +#endif +#include <signal.h> + +/** send a signal to the current program **/ +int raise(int sig) +{ + /* + RETURN_FAILURE(NONZERO); + RETURN_SUCCESS(0); + */ + #if (defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 199506L) + return pthread_kill(pthread_self(), sig); + #else + return kill(getpid(), sig); + #endif +} + +/*** +sends the signal ARGUMENT(sig) to the current program. +***/ +/* +STDC(1) +*/ |