Date: Sat, 14 Mar 1998 02:13:11 +1100 From: Bruce Evans <bde@zeta.org.au> To: bde@zeta.org.au, cracauer@cons.org Cc: freebsd-current@FreeBSD.ORG Subject: Re: make/SIGINT (Re: cvs commit: src/bin/sh jobs.c) Message-ID: <199803131513.CAA27634@godzilla.zeta.org.au>
next in thread | raw e-mail | index | archive | help
>The appended fix seems to treat signals right for compat mode, >too. I'll do some make world's with patched make and sh over the >weekend and look for further trouble. I changed the handling of SIGQUIT and fixed the style bugs: diff -c2 compat.c~ compat.c *** compat.c~ Mon Feb 24 01:43:20 1997 --- compat.c Sat Mar 14 01:53:45 1998 *************** *** 126,130 **** } ! exit (signo); } --- 126,133 ---- } ! if (signo == SIGQUIT) ! exit(signo); ! (void) signal(signo, SIG_DFL); ! (void) kill(getpid(), signo); } diff -c2 job.c~ job.c *** job.c~ Mon Feb 24 01:43:21 1997 --- job.c Fri Feb 13 05:06:16 1998 *************** *** 2905,2909 **** } (void) eunlink(tfile); - exit(signo); } --- 2905,2908 ---- SIGQUIT handling is still buggy. For the simple Makefile: --- foo: sleep 1000 --- killing make with SIGQUIT gives the following behaviours: 1. make: exits with status 3 (SIGQUIT) (per the above change). 2. make -j4: hangs (broken). 3: gmake: exits with status 1. 3: gmake -j4: exits with status 1. POSIX.2 only requires a nonzero exit status for SIGQUIT. We've just fixed the handling of SIGINT, SIGTERM and SIGHUP. Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199803131513.CAA27634>