[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: AIX and Interix also do early PID recycling.

From: Michael Haubenwallner
Subject: Re: AIX and Interix also do early PID recycling.
Date: Wed, 25 Jul 2012 15:20:48 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.3) Gecko/20120327 Thunderbird/10.0.3

On 07/25/2012 09:59 AM, Michael Haubenwallner wrote:
> On 07/25/2012 03:05 AM, Chet Ramey wrote:
>> Bash holds on to the status of all terminated processes, not just
>> background ones, and only checks for the presence of a newly-forked PID
>> in that list if the list size exceeds CHILD_MAX.

> The AIX 6.1 I've debugged on has:
>   #define CHILD_MAX 128

> I'm going to run this build job with 'truss -t kfork' again, to eventually 
> find
> some too small count of different PIDs before PID-recycling by the kernel...

Tracing shows:

The minimum fork count (including grand-childs to any depth) before PID 
recycling starts
looks like 255 (once), but usually 256 and more.

However, one process does see a PID recycled after *at least* 128 forks,
that is exactly the value of CHILD_MAX.

First thought is of some off-by-one bug, but reducing js.c_childmax in jobs.c 
(2 times)
by one doesn't help.

Investigating further... any hints what to look out for?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]