On 7/25/12 10:11 AM, Michael Haubenwallner wrote:
> 
> On 07/25/2012 02:14 PM, Greg Wooledge wrote:
>> On Wed, Jul 25, 2012 at 09:59:28AM +0200, Michael Haubenwallner wrote:
>>> OTOH, AFAICT, as long as a PID isn't waitpid()ed for, it isn't reused by 
>>> fork().
>>> However, I'm unable to find that in the POSIX spec.
>>
>> A process that hasn't been waited for should become a zombie, which
>> should be sufficient to prevent its PID being reused.  Are you saying
>> that AIX and Interix don't have zombies?
> 
> Nope. My thought was that bash eventually could postpone waiting for a 
> specific
> child PID until required by the driving shell script. That is: immediately for
> synchronous childs to set $?, and on "wait" for asynchronous childs. The idea
> was to render storing CHILD_MAX returnvalues obsolete.

It won't; Posix makes it required.  However, Posix does allow shells to
detect when $! is referenced and not save that many termination statuses
if it's not.  The problem is as I explained in a previous message: you
have processes you have to reap whether or not the script calls `wait'.

Chet
-- 
``The lyf so short, the craft so long to lerne.'' - Chaucer
                 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, ITS, CWRU    c...@case.edu    http://cnswww.cns.cwru.edu/~chet/



Reply via email to