Oops! I forgot the second part of my patch. The problem with SA_NOMASK is also present in app/main.c: --- app/main.c~ Mon May 1 19:43:09 2000 +++ app/main.c Tue May 2 17:49:05 2000 @@ -334,15 +334,15 @@ /* Handle some signals */ - gimp_signal_private (SIGHUP, on_signal, SA_RESETHAND | SA_NOMASK); - gimp_signal_private (SIGINT, on_signal, SA_RESETHAND | SA_NOMASK); - gimp_signal_private (SIGQUIT, on_signal, SA_RESETHAND | SA_NOMASK); - gimp_signal_private (SIGABRT, on_signal, SA_RESETHAND | SA_NOMASK); - gimp_signal_private (SIGBUS, on_signal, SA_RESETHAND | SA_NOMASK); - gimp_signal_private (SIGSEGV, on_signal, SA_RESETHAND | SA_NOMASK); - gimp_signal_private (SIGPIPE, on_signal, SA_RESETHAND | SA_NOMASK); - gimp_signal_private (SIGTERM, on_signal, SA_RESETHAND | SA_NOMASK); - gimp_signal_private (SIGFPE, on_signal, SA_RESETHAND | SA_NOMASK); + gimp_signal_private (SIGHUP, on_signal, SA_RESETHAND | SA_NODEFER); + gimp_signal_private (SIGINT, on_signal, SA_RESETHAND | SA_NODEFER); + gimp_signal_private (SIGQUIT, on_signal, SA_RESETHAND | SA_NODEFER); + gimp_signal_private (SIGABRT, on_signal, SA_RESETHAND | SA_NODEFER); + gimp_signal_private (SIGBUS, on_signal, SA_RESETHAND | SA_NODEFER); + gimp_signal_private (SIGSEGV, on_signal, SA_RESETHAND | SA_NODEFER); + gimp_signal_private (SIGPIPE, on_signal, SA_RESETHAND | SA_NODEFER); + gimp_signal_private (SIGTERM, on_signal, SA_RESETHAND | SA_NODEFER); + gimp_signal_private (SIGFPE, on_signal, SA_RESETHAND | SA_NODEFER); #ifndef __EMX__ /* OS/2 may not support SA_NOCLDSTOP -GRO */