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.

RELATED TO stCleanup…