## gimpsignal gimpsignal — Portable signal handling. |

## Synopsis

    void                (*GimpSignalHandlerFunc)            (gint signum);
    GimpSignalHandlerFunc gimp_signal_private               (gint signum,
                                                             GimpSignalHandlerFunc handler,
                                                             gint flags);

## Description

Portable signal handling.

## Details

### GimpSignalHandlerFunc ()

    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.

### gimp_signal_private ()

    GimpSignalHandlerFunc gimp_signal_private               (gint signum,
                                                             GimpSignalHandlerFunc handler,
                                                             gint flags);

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()`.

## See Also

signal(2), signal(5 or 7), sigaction(2).