delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-developers/1998/06/04/00:41:50

From: andrewd AT axonet DOT com DOT au (Andrew Dalgleish)
Subject: RE: error when maxing out processes
4 Jun 1998 00:41:50 -0700 :
Message-ID: <91A8FD196436D1118EC2006008186C96098E4F.cygnus.cygwin32.developers@server1.axonet.com.au>
To: cygwin32-developers AT cygnus DOT com


> -----Original Message-----
> From:	Sergey Okhapkin [SMTP:sos AT prospect DOT com DOT ru]
> Sent:	1998 June 04, Thursday 16:08
> To:	cygwin32-developers AT cygnus DOT com; 'Tim Newsham'
> Subject:	RE: error when maxing out processes
> 
> Tim Newsham wrote:
> >      I notice an internal cygwin error being displayed when I max
> > out the process table.  The error:
> >
> >     wait_subproc: wait failed.  nchildren 64, wait -1, err 87
> >
> 
> It's not possible to wait more than 63 childs, because of 
> WaitForMultipleObjects() call limitation (the maximum number of
> handles to 
> wait is 64).
[Andrew Dalgleish]  
Windows Developers Journal October 97 had an article by Jason Clark
titled "Waiting for More Than 64 Objects".
The basic idea is to create multiple threads, each thread waits for 64
objects.
The example code (ftp://ftp.mfi.com/pub/windev/1997/oct97.zip) was
limited to 4032 objects.

I've seen other articles which describe similar approaches.


>  I think fork() call should fail when nchildren >= 63. Also, 
> sysconf(_SC_CHILD_MAX) should return 63.
[Andrew Dalgleish]  
Which is probably more realistic.
Who needs 4k children?


- Raw text -


  webmaster     delorie software   privacy  
  Copyright 2019   by DJ Delorie     Updated Jul 2019