Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: Pid or not pid
- X-seq: zsh-workers 622
- From: Richard Coleman <coleman@xxxxxxxxxxxxxxx>
- To: zsh-workers@xxxxxxxxxxxxxxx
- Subject: Re: Pid or not pid
- Date: Thu, 16 Nov 1995 18:57:35 -0500
- In-reply-to: Your message of "Thu, 16 Nov 1995 16:57:47 +0100." <9511161557.AA20201@xxxxxxxxxx>
> Some of the code in execcmd() is getting executed in the parent rather
> than the child, presumably since the last rearrangement... in
> particular, nice(5) is getting called if fork() returned a non-zero
> pid, i.e. in the parent (line 1350 of exec.c). This means each time a
> background process is forked, the parent shell has a lower priority.
> This may be a good way to deal with process hogs, but I don't think
> it's what's intended.
This is for beta12-test2. This bug is not present in beta10 or beta11.
rc
*** exec.c 1995/11/16 03:31:23 1.89
--- exec.c 1995/11/16 22:05:14
***************
*** 1345,1353 ****
read(synch[0], &dummy, 1);
close(synch[0]);
if (how & Z_ASYNC) {
- /* Check if we should run this job at a lower priority */
- if (isset(BGNICE))
- nice(5);
lastpid = pid;
} else if (!jobtab[thisjob].stty_in_env && nonempty(cmd->vars)) {
/* search for STTY=... */
--- 1345,1350 ----
***************
*** 1367,1372 ****
--- 1364,1373 ----
forked = 1;
if (sigtrapped[SIGINT] == 2)
holdintr();
+ /* Check if we should run background jobs at a lower priority. */
+ if ((how & Z_ASYNC) && isset(BGNICE))
+ nice(5);
+
} else if (is_cursh) {
/* This is a current shell procedure that didn't need to fork. *
* This includes current shell procedures that are being exec'ed, *
Messages sorted by:
Reverse Date,
Date,
Thread,
Author