stsignal(3)

NAME
stCatchSigs, stInterruptAction, stQuitAction, stTermAction, stCleanup, stExit - signal handling

SYNOPSIS
#include <config.h>
#include <sttk.h>

void    stCatchSigs (void);

Sfunc_t    (*stInterruptAction)();

Sfunc_t    (*stQuitAction)();

Sfunc_t    (*stTermAction)();

void    stCleanup (void);

void    stExit (int exitCode);

DESCRIPTION
stCatchSigs activates a number of interrupt handlers, defined internally in the ShapeTools toolkit library. Interrupt handlers are defined for the signals SIGINT, SIGQUIT, SIGFPE, SIGBUS, SIGSEGV, and SIGTERM. All interrupt handlers, except the one for SIGINT, cause program termination after having done some cleanup work. The cleanup consists of removing all temporary files by calling stRmRegisteredFiles(3).

Some of the signal handlers are capable to execute functions defined by the application, while handling the interrupt. This mechanism is activated by assigning a functions address to the appropriate variable. The following is a complete List.

Signal
    Variable

SIGINT
    stInterruptAction

SIGQUIT
    stQuitAction

SIGTERM
    stTermAction

stCleanup calls stRmRegisteredFiles(3) to remove all temporary files and the AtFS function af_cleanup(3) that orders AtFS's affairs.

stExit does the same as stCleanup and additionally end the program execution returning exitCode.

SEE ALSO
signal (3), stRmRegisteredFiles(3), af_cleanup(3).