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