Skip site navigation (1)Skip section navigation (2)
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>