Index: libcfa/src/bits/defs.hfa
===================================================================
--- libcfa/src/bits/defs.hfa	(revision 768bd55614144e92dcfe87a8d037c982f47a2e53)
+++ libcfa/src/bits/defs.hfa	(revision c334ecd91e8daf7753eef5c19fbe23d534e7606e)
@@ -10,6 +10,6 @@
 // Created On       : Thu Nov  9 13:24:10 2017
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Thu Feb  8 16:22:41 2018
-// Update Count     : 8
+// Last Modified On : Tue Jan 28 22:38:27 2020
+// Update Count     : 9
 //
 
@@ -34,5 +34,6 @@
 
 #ifdef __cforall
-void abort ( const char fmt[], ... ) __attribute__ (( format(printf, 1, 2), __nothrow__, __leaf__, __noreturn__ ));
+void abort( const char fmt[], ... ) __attribute__ (( format(printf, 1, 2), __nothrow__, __leaf__, __noreturn__ ));
+void abort( bool signalAbort, const char fmt[], ... ) __attribute__ (( format(printf, 2, 3), __nothrow__, __leaf__, __noreturn__ ));
 extern "C" {
 #endif
Index: libcfa/src/bits/signal.hfa
===================================================================
--- libcfa/src/bits/signal.hfa	(revision 768bd55614144e92dcfe87a8d037c982f47a2e53)
+++ libcfa/src/bits/signal.hfa	(revision c334ecd91e8daf7753eef5c19fbe23d534e7606e)
@@ -40,7 +40,14 @@
 	sigaddset( &act.sa_mask, SIGALRM );		// disabled during signal handler
 	sigaddset( &act.sa_mask, SIGUSR1 );
+	sigaddset( &act.sa_mask, SIGSEGV );
+	sigaddset( &act.sa_mask, SIGBUS );
+	sigaddset( &act.sa_mask, SIGILL );
+	sigaddset( &act.sa_mask, SIGFPE );
+	sigaddset( &act.sa_mask, SIGHUP );		// revert to default on second delivery
+	sigaddset( &act.sa_mask, SIGTERM );
+	sigaddset( &act.sa_mask, SIGINT );
 	act.sa_flags = flags;
 
-	if ( sigaction( sig, &act, NULL ) == -1 ) {
+	if ( sigaction( sig, &act, 0p ) == -1 ) {
 		__cfaabi_dbg_print_buffer_decl(
 			" __cfaabi_sigaction( sig:%d, handler:%p, flags:%d ), problem installing signal handler, error(%d) %s.\n",
@@ -48,21 +55,4 @@
 		);
 		_exit( EXIT_FAILURE );
-	}
+	} // if
 }
-
-// Sigaction wrapper : restore default handler
-static void __cfaabi_sigdefault( int sig ) {
-	struct sigaction act;
-
-	act.sa_handler = SIG_DFL;
-	act.sa_flags = 0;
-	sigemptyset( &act.sa_mask );
-
-	if ( sigaction( sig, &act, NULL ) == -1 ) {
-		__cfaabi_dbg_print_buffer_decl(
-			" __cfaabi_sigdefault( sig:%d ), problem reseting signal handler, error(%d) %s.\n",
-			sig, errno, strerror( errno )
-		);
-		_exit( EXIT_FAILURE );
-	}
-}
