X-Spam-Check-By: sourceware.org Date: Wed, 11 Oct 2006 10:14:22 -0400 From: Christopher Faylor To: cygwin AT cygwin DOT com Subject: Re: fork.cc (frok::parent) problems after 3-13-06 snapshot Message-ID: <20061011141422.GB24362@trixie.casa.cgf.cx> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.11 Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Unsubscribe: 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 On Wed, Oct 11, 2006 at 05:54:04AM +0000, Steve wrote: >Hello Folks, > >I origianly posted this problem on the group on Oct.21 2006 under title "1.5.21 >Forked background processes". The problem involves forking processes in the >background using `backticks` from a sh script. When doing this, the parent and >child (backticked) processes will both die shortly and without error, although >ps will still show the child process as alive. You can reproduce this problem >using the example I added in my original post. Other folks I know and on the >group were able to reproduce this problem with little effort. > >Since then I nailed down the culprit to a change that happened in method >frok::parent in file fork.cc. The change to this method first appreared in the >snapshot from 3-13-06. Here is the change log entry for this method: > >(frok::parent): Reorganize to allow retry of failed child creation if > child signalled that it was ok to do so. > >Reverting this change (to the 3-9-06 snapshot), as well as the change to fork.cc >(resume_child) in the same snapshot, fixed the problem. Reverting this, of >course, invalidates the fork_retry (now proc_retry) CYGWIN environment option, >which was one of the reasons this method was reorginized to accomidate. > >I can't quite nail down the problem within this method however, but I'm guessing >it has something to do with the retry iteration that's present. I consider this >a rather nasty bug. If you've narrowed it down this far then it should not be much more work to determine what *specifically* is causing the problem. cgf -- 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/