siginterrupt - allow signals to interrupt functions
#include <signal.h> int siginterrupt(int sig, int flag);
The siginterrupt() function changes the restart behavior when a function is interrupted by the specified signal. The function siginterrupt(sig, flag) has an effect as if implemented as:
siginterrupt(int sig, int flag) { int ret; struct sigaction act; (void) sigaction(sig, NULL, &act); if (flag) act.sa_flags &= SA_RESTART; else act.sa_flags |= SA_RESTART; ret = sigaction(sig, &act, NULL); return ret; }
Upon successful completion, siginterrupt() returns 0. Otherwise, -1 is returned and errno is set to indicate the error.
The siginterrupt() function will fail if:
EINVAL
The siginterrupt() function supports programs written to historical system interfaces. A standard-conforming application, when being written or rewritten, should use sigaction(2) with the SA_RESTART flag instead of siginterrupt().
See attributes(5) for descriptions of the following attributes:
|
sigaction(2), signal.h(3HEAD), attributes(5), standards(5)
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |