X-Spam-Check-By: sourceware.org Message-ID: <4491D9B9.8010601@tlinx.org> Date: Thu, 15 Jun 2006 15:05:45 -0700 From: Linda Walsh User-Agent: Thunderbird 1.5.0.4 (Windows/20060516) MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: random "fork: Resource temporarily unavailable" Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com I've not seen this message except when I've had to rapidly press ^C to break out of a loop shell script. Today, I've seen it twice when there was virtually no cpu load on the system, about 50% virtual memory committed, and 40 processes. Once, was with an "ls" command, the other happened as my shell was starting up by some command invoked in the .rc script. I get suspicious whenever I see behavior on my computers when anomalies crop up. I don't think any of my cygwin libraries have been updated recently. What would cause something like this? Memory fragmentation? Insufficient real memory to "immediately" fork? I.e. I wonder if, when NT goes to "fork", if it doesn't have enough free memory, it tells the caller it failed (try again later) and then starts a memory cleanup cycle to free up memory: i.e. rather than the forking process sleeping while memory is made available NT returns it immediately with a failure. Any idea on causes? Is it as rare as it has been for me? A possible solution would be retry the fork a second time, or sleep for a millisecond and then try fork again. I'm not sure, but I think many *ixy (*='un'|'pos'|'lin'|'ir'...etc) type programs may not retry the fork but immediately die, as on *ixy systems, a fork failure is less common, and usually only happens when the system really is out of resources. If that's the case, it _might_ be an aid to smooth *ixy compatibility for the library handling fork, retry the fork (possibly with millisecond sleep) once before returning failure to the application. Not a high priority issue, but just wondering.... Linda If it is NT returning failure rather than forking, I wonder if, in order to provide a better "run-time" -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/