From owner-freebsd-current Thu Feb 12 09:15:41 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id JAA25436 for current-outgoing; Thu, 12 Feb 1998 09:15:41 -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 JAA25426 for ; Thu, 12 Feb 1998 09:15:32 -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 EAA30328; Fri, 13 Feb 1998 04:13:51 +1100 Date: Fri, 13 Feb 1998 04:13:51 +1100 From: Bruce Evans Message-Id: <199802121713.EAA30328@godzilla.zeta.org.au> To: bde@zeta.org.au, cracauer@cons.org Subject: 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 I've seen some problems with my version of the fix. The serious ones (2-3) probably affect all versions. 1) When `make' of a kernel is killed by ^C, the newline to clean up the output is printed after the shell prompt appears, so it messes up the output. This problem doesn't occur if /bin/sh is bash-1. 2) Shell scripts with `make' commands in them are hard to kill. This problem still occurs if /bin/sh is bash-1. It seems to be a bug in `make'. According to a draft of POSIX.2, `make' shall catch SIGINT, SIGQUIT, SIGTERM and SIGHUP in order to clean up, but it shall resend SIGINT, SIGTERM and SIGHUP (but not necessarily SIGQUIT) to itself in order to exit with a signal status. `make' doesn't do this (at least in -current). Gnu make does it. 3) Recursive makes (e.g., of /usr/src) are very hard to kill. This seems to be caused by the same bug in `make'. The bug in `make' is very old. I first saw it several years ago when I tried applying a patch by Chet Ramey for sh's signal handling. At the time I thought it was caused bugs in the patch. Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe current" in the body of the message