gimpsignal -- Portable signal handling.
Portable signal handling.
#define SA_RESTART SA_SYSV
This is just an alias for systems which do not define SA_RESTART.
void (*GimpSignalHandlerFunc) (gint signum);
A prototype for signal handler functions. Note that each function which
takes or returns a variable of this type also accepts or may return
special values defined by your system's signal.h header file (like
SIG_DFL or SIG_IGN).
|signum :||The number of the signal. Useful if different signals are handled
by a single handler.
This function furnishes a workalike for signal(2) but
which internally invokes sigaction(2) after certain
sa_flags are set; these primarily to ensure restarting
of interrupted system calls. See sigaction(2) It is a
aid to transition and not new development: that effort
should employ sigaction directly. [gosgood 18.04.2000]
Cause handler to be run when signum is delivered. We
use sigaction(2) rather than signal(2) so that we can control the
signal handler's environment completely via flags: some signal(2)
implementations differ in their sematics, so we need to nail down
exactly what we want. [austin 06.04.2000]
|signum :|| Selects signal to be handled see man 5 signal (or man 7 signal)|
|handler :|| Handler that maps to signum. Invoked by O/S.
Handler gets signal that caused invocation. Corresponds
to the sa_handler field of the sigaction struct.|
|flags :|| Preferences. OR'ed SA_<xxx>. See man sigaction. Corresponds
to the sa_flags field of the sigaction struct.|
|Returns :|| A reference to the signal handling function which was
active before the call to gimp_signal_private().|
#define gimp_signal_syscallrestart(signum,handler) gimp_signal_private ((signum), (handler), SA_RESTART)
Installs a signal handler in a way that system calls which were not finished
at the time of signal handler invocation will be silently restarted
by the system (without failing with an error of EINTR).
|signum :||The number of the signal.|
|handler :||The signal handler.
signal(2), signal(5 or 7), sigaction(2).