SIGOPEN(2) Linux Programmer's Manual SIGOPEN(2)
NAME
sigopen - open a signal as a file descriptor
SYNOPSIS
#include <signal.h>
int sigopen(int signum);
DESCRIPTION
The sigopen system call opens signal number signum as a file descriptor.
That signal is no longer delivered normally or available for pickup
with sigwait() et al. Instead, it must be picked up by calling
read() on the file descriptor returned by sigwait(); the buffer passed to
read() must have a size which is a multiple of sizeof(siginfo_t).
Multiple signals may be picked up with a single call to read().
When that file descriptor is closed, the signal is available once more
for traditional use.
A signal number cannot be opened more than once concurrently; sigopen()
thus provides a way to avoid signal usage clashes in large programs.
RETURN VALUE
signal returns the new file descriptor, or -1 on error (in which case, errno
is set appropriately).
ERRORS
EWOULDBLOCK signal is already open
NOTES
read() will block when reading from a file descriptor opened by sigopen()
until a signal is available unless fcntl(fd, F_SETFL, O_NONBLOCK) is called
to set it into nonblocking mode.
HISTORY
sigopen() first appeared in the 2.5.2 Linux kernel.
Linux July, 2001 1
When he finished reading, he knew just how to solve his
problem, and he lived happily ever after.
The End.
- Dan
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/