From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11291 invoked from network); 1 Sep 1999 16:46:59 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 1 Sep 1999 16:46:59 -0000 Received: (qmail 19508 invoked by alias); 1 Sep 1999 16:46:52 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 7617 Received: (qmail 19501 invoked from network); 1 Sep 1999 16:46:50 -0000 From: "Bart Schaefer" Message-Id: <990901164645.ZM19420@candle.brasslantern.com> Date: Wed, 1 Sep 1999 16:46:45 +0000 In-Reply-To: <199909010808.KAA31927@beta.informatik.hu-berlin.de> Comments: In reply to Sven Wischnowsky "Re: prob: fg not sending CONT to 'make' children" (Sep 1, 10:08am) References: <199909010808.KAA31927@beta.informatik.hu-berlin.de> X-Mailer: Z-Mail (5.0.0 30July97) To: zsh-workers@sunsite.auc.dk Subject: Re: prob: fg not sending CONT to 'make' children MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii On Sep 1, 10:08am, Sven Wischnowsky wrote: } Subject: Re: prob: fg not sending CONT to 'make' children } } Bart Schaefer wrote: } } > Really? It doesn't look to me as though it changes that behavior at all. } } So, err is only set to -1 if (and always if) a kill fails with an } intersting error and if another kill() later succeeds it will not be } reset to zero -- that's certainly different from before, isn't it? Yes, it is; sorry about that. I'd already done a patch to my local copy where I used `err |= kill(...);' rather than `if (kill(...)) err = -1;' and I didn't think hard enough when resolving the conflicts. Index: Src/signals.c =================================================================== @@ -593,15 +593,15 @@ for (pn = jobtab[jn->other].procs; pn; pn = pn->next) if (killpg(pn->pid, sig) == -1) if (kill(pn->pid, sig) == -1 && errno != ESRCH) - err |= -1; + err = -1; for (pn = jn->procs; pn->next; pn = pn->next) if (kill(pn->pid, sig) == -1 && errno != ESRCH) - err |= -1; + err = -1; if (!jobtab[jn->other].procs && pn) if (kill(pn->pid, sig) == -1 && errno != ESRCH) - err |= -1; + err = -1; return err; } @@ -609,7 +609,7 @@ err = -1; if (killpg(jn->gleader, sig) == -1 && errno != ESRCH) - err |= -1; + err = -1; return err; } -- Bart Schaefer Brass Lantern Enterprises http://www.well.com/user/barts http://www.brasslantern.com