Next: , Previous: , Up: Problems running   [Contents][Index]

8.3.4 Keeping programs from dying on a signal

By default, coNCePTuaL programs terminate upon receiving any unexpected signal. The error message list the signal number and, if available, a human-readable signal name:

myprogram: Received signal 28 (Window changed); specify --no-trap=28 to

The motivation behind this decision to abort on unexpected signals is that signal-handling adversely affects a program’s performance. Hence, by running to completion, a program indicates that it did not receive any unexpected signals. However, some messaging layers use signals internally (most commonly SIGUSR1 and SIGUSR2) to coordinate helper processes. To permit a program to deliver such signals to the messaging layer a user should use the program’s --no-trap command-line option as described in Running coNCePTuaL programs.

Scott Pakin,