Fork fails

Michael Still mikal at stillhq.com
Thu Sep 19 17:02:30 EST 2002


On Thu, 19 Sep 2002, Sam Couter wrote:

> I'm assuming you've checked 'ulimit -a'? The important limit is max user
> processes. Set it using ulimit -u, when using bash at least. On my
> system (Debian) it defaults to 256.

Yeah, I did think about this. THe bit that made me not think that it is
this is that there is only ever two process running at once, assuming that
my code isn't remarkably bad (which is always an option).

> > Is it safe to assume this is just temporary resource exhaustion, wait a
> > couple of seconds, and then try again?
>
> Check errno after the failed fork(2) call. The man page on my system
> lists EAGAIN and ENOMEM as possible return codes. EAGAIN is usually
> interpreted as a temporary failure.

Yeah, this is the next step, it might give me a hint about what is going
wrong at least... The problem is the app takes about 2 and a half hours to
run, so I have to wait about half that time to find out if a code change
has made the difference. This sucks.

I might go the wait a few seconds on EAGAIN, with a maximum number of
retries route.

Thanks,
Mikal

-- 

Michael Still (mikal at stillhq.com)     UTC +10 hours




More information about the linux mailing list