I don't want a mysterious exit. I would like a message on the console indicating the nature of the problem. The message should include the signal number and the fact that we are not in an Eiffel thread. Then, instead of exiting, I have read that it is better to restore the saved signal handler (I believe you have that) and resignal. Since the saved handler was probably SIG_DFL - it will probably exit. If you are uncomfortable with printing a message, you could make it optional and I would call a feature to turn it on. Since SIGINT and SIGBREAK will usually be in a new thread you could eliminate the message in those cases. #ifdef EIF_THREADS if (rt_globals == NULL) { if (sig != SIGINT && sig != SIGBREAK) printf("\nSignal %d while in non-Eiffel thread.\n", sig); exit(2);