From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13745 invoked from network); 25 Jun 1999 17:15:33 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 25 Jun 1999 17:15:33 -0000 Received: (qmail 9784 invoked by alias); 25 Jun 1999 17:15:09 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 6862 Received: (qmail 9769 invoked from network); 25 Jun 1999 17:15:07 -0000 From: "Bart Schaefer" Message-Id: <990625171454.ZM5335@candle.brasslantern.com> Date: Fri, 25 Jun 1999 17:14:53 +0000 In-Reply-To: <990625162919.ZM5194@candle.brasslantern.com> Comments: In reply to "Bart Schaefer" "Re: 3.0.6-pre-5 problem" (Jun 25, 4:29pm) References: <199906251252.OAA02488@beta.informatik.hu-berlin.de> <990625162919.ZM5194@candle.brasslantern.com> X-Mailer: Z-Mail (5.0.0 30July97) To: zsh-workers@sunsite.auc.dk Subject: Re: 3.0.6-pre-5 problem MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii On Jun 25, 4:29pm, Bart Schaefer wrote: } Subject: Re: 3.0.6-pre-5 problem } } zsh(28198)-+-pstree(5173) } `-xterm(5161)---zsh(5162)---mutt(5164) } } The top-level xterm case is now producing process trees exactly like } the case where there's an intermediate zsh, but the parent zsh is still } not ignoring the TSTP. More information: Fooling around with "gdbterm" (I posted it to zsh-users a while back) I managed to get zsh to stop and resume again (though the mutt process got orphaned). When zsh came back and I typed "fg" to try to resume mutt, I got "no job control in this shell" which is pretty strange as there had been job control a moment before. That indicates to me that, in this bit of code from execpline() we're going through the third branch: if ((pid = fork()) == -1) { /* ... */ } else if (pid) { /* ... */ else { close(synch[0]); entersubsh(Z_ASYNC, 0, 0); if (jobtab[list_pipe_job].procs) setpgrp(0L, mypgrp = jobtab[list_pipe_job].gleader); close(synch[1]); kill(getpid(), SIGSTOP); list_pipe = 0; list_pipe_child = 1; opts[INTERACTIVE] = 0; break; } Which of course is the one thing Sven hasn't tried patching yet ... but I'm not sure WHY zsh is going through the third branch. All of Sven's patches have been to the second branch. What's odd is that over in the 6860 "Re: PATCH: loop killing" thread, zsh DOESN'T get the signal when it's supposed to. Maybe Sven's got the cases in which zsh takes the second and third branches, reversed? Or maybe I'm just completely confused, which is entirely likely by now. -- Bart Schaefer Brass Lantern Enterprises http://www.well.com/user/barts http://www.brasslantern.com