Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: bug in zsh wait builtin - rhbz#1150541
On Oct 21, 9:02pm, Peter Stephenson wrote:
}
} There's an explanatory note in the latest POSIX standard about this,
} quoted below. It seems that the shell is basically required to remember
} all background processes indefinitely (up to not very helpful get out
} clauses). As a baseline, CHILD_MAX here is 1024. This probably needs
} to be a special hash.
Since you've bothered to look this up ... does it go on to say what the
shell is supposed to do if PIDs roll over so that a new background job
gets the same $! as some previous one? Is "kill" supposed to work the
same way? (Do we need to send an inquiry to austin-group? If so, you
will have to do it, my ability to post there has been messed up for a
long time.)
Note also that this is partly handled by the POSIX_JOBS option:
When the option is set, it becomes possible to use the wait
builtin to wait for the last job started in the background (as
given by $!) even if that job has already exited. This works even
if the option is turned on temporarily around the use of the wait
builtin.
I would say that any further change made for this should also be under
the auspices (so to speak) of POSIX_JOBS.
} Historical implementations of interactive shells have discarded the exit
} status of terminated background processes before each shell prompt.
Precisely. This is not a "bug," as zsh's implementation predates 2008.
It's a POSIX non-conformity, but zsh has quite a few of those remaining,
I think.
--
Barton E. Schaefer
Messages sorted by:
Reverse Date,
Date,
Thread,
Author