I ran into the following problem under 3.1.6 while doing a recompile; after stopping (ctrl-Z) the make process, doing an 'fg' would not continue the make process. Looking at the process tree, the make itself is continued, but its child process is still stopped. Another datapoint is that I generally use a shell function to run make; if I _don't_ use the function, it works properly. Here's a distilled example: % cat Makefile default: read i % zsh -f % echo $$ 1106 % gm() {gmake $*} % gm read i ^Zzsh: suspended gm % fg [1] + continued gm At this point, hitting return after return doesn't finish the make. On another terminal: % /usr/proc/bin/ptree 1106 220 /usr/local/sbin/sshd 21855 /usr/local/sbin/sshd 21858 -zsh 1106 zsh -f 1110 gmake 1111 /bin/sh -c read i 1113 zsh -f % truss -p 1106 sigsuspend(0xEFFFEB48) (sleeping...) % truss -p 1110 wait() (sleeping...) % truss -p 1111 Stopped by signal #24, SIGTSTP, in read() % truss -p 1113 Stopped by signal #23, SIGSTOP I found it odd that there's a second zsh process there (1113), and didn't know what to make of it. The problem doesn't occur under 3.1.5 (nor does the extra zsh process). Looking through the code, it was clear things had changed quite a bit, but I couldn't understand the code well enough to hazard a guess as to what's causing the problem. For reference, this is under Solaris 2.6, with zsh-3.1.6 (both with and without dynamic-loading) as well as with zsh-3.1.6-pws-1. Gmake is 3.71, but it occurs with solaris /usr/ccs/bin/make as well. -- Will Day <PGP mail preferred> OIT / O&E / Technical Support willday@xxxxxxxxxxxxxxxxxx Georgia Tech, Atlanta 30332-0715 -> Opinions expressed are mine alone and do not reflect OIT policy <- Those who would give up essential Liberty, to purchase a little temporary Safety, deserve neither Liberty nor Safety. Benjamin Franklin, Pennsylvania Assembly, Nov. 11, 1755
Attachment:
pgpT32kj0zH44.pgp
Description: PGP signature