.BR sig_add ,
passing it the following arguments:
.TP
-.I s
+.BI "sig *" s
A pointer to an (uninitialized) object of type
.BR sig .
This will be used by the system to retain information about this signal
claim. You use the address of this object to remove the handler again
when you've finished.
.TP
-.I n
+.BI "int " n
The number of the signal you want to handle.
.PP
.TP
-.I proc
+.BI "void (*" proc ")(int " n ", void *" p )
A function to call when the signal is detected. The function is passed
the signal number and the pointer
.I p
passed to
.BR sig_add .
.TP
-.I p
+.BI "void *" p
A pointer argument to be passed to
.I func
when the signal is detected.
.B SA_NOCLDSTOP
flag is also set, so that stopped child processes aren't reported by a
signal. This is normally right, but ought to be configurable.
-.PP
-The system uses writes to a nonblocking pipe to integrate with the I/O
-multiplexing system. It's possible (though very unlikely) that signals
-get lost because the pipe is full.
.SH "AUTHOR"
Mark Wooding, <mdw@nsict.org>