Date: Fri, 13 Feb 1998 04:13:51 +1100 From: Bruce Evans <bde@zeta.org.au> To: bde@zeta.org.au, cracauer@cons.org Cc: freebsd-current@FreeBSD.ORG Subject: Re: cvs commit: src/bin/sh jobs.c Message-ID: <199802121713.EAA30328@godzilla.zeta.org.au>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199802121713.EAA30328>