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>
