From owner-freebsd-current Fri Mar 13 07:19:43 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id HAA05793 for freebsd-current-outgoing; Fri, 13 Mar 1998 07:19:43 -0800 (PST) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.19]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id HAA05766 for ; Fri, 13 Mar 1998 07:19:35 -0800 (PST) (envelope-from bde@godzilla.zeta.org.au) Received: (from bde@localhost) by godzilla.zeta.org.au (8.8.7/8.8.7) id CAA27634; Sat, 14 Mar 1998 02:13:11 +1100 Date: Sat, 14 Mar 1998 02:13:11 +1100 From: Bruce Evans Message-Id: <199803131513.CAA27634@godzilla.zeta.org.au> To: bde@zeta.org.au, cracauer@cons.org Subject: Re: make/SIGINT (Re: cvs commit: src/bin/sh jobs.c) Cc: freebsd-current@FreeBSD.ORG Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG >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