Synchronous Signals
Synchronous signals are generated by the application itself (for example, SIGSEGV). InterSystems IRIS establishes signal handlers for all synchronous signals, and unblocks these signals for each thread when it connects to InterSystems IRIS.
Synchronous signals are caught by the thread that generated the signal. If the application has not specified a handler for a signal it has generated (for example, SIGSEGV), or if the thread has blocked the signal, then the OS will halt the entire process. If the thread enters the signal handler, that thread may exit cleanly (via pthread_exit) with no impact to any other thread. If a thread attempts to return from the handler, the OS will halt the entire process. The following signals cause thread termination:
SIGNAL |
DISPOSITION |
SIGABRT |
process abort signal |
SIGBUS |
bus error |
SIGEMT |
EMT instruction |
SIGFPE |
floating point exception |
SIGILL |
illegal instruction |
SIGSEGV |
access violation |
SIGSYS |
bad argument to system call |
SIGTRAP |
trace trap |
SIGXCPU |
CPU time limit exceeded (setrlimit) |