diff --git a/usr.bin/mail/collect.c b/usr.bin/mail/collect.c --- a/usr.bin/mail/collect.c +++ b/usr.bin/mail/collect.c @@ -698,7 +698,7 @@ /*ARGSUSED*/ void -collhup(int s __unused) +collhup(int signo) { rewind(collf); savedeadletter(collf); @@ -706,7 +706,10 @@ * Let's pretend nobody else wants to clean up, * a true statement at this time. */ - exit(1); + signal(signo, SIG_DFL); + raise(signo); + /* NOT REACHED */ + _exit(128 + signo); } void