X-Spam-Check-By: sourceware.org Message-ID: <4403339C.9000807@steeleye.com> Date: Mon, 27 Feb 2006 12:15:08 -0500 From: Paul Clements User-Agent: Mozilla Thunderbird 1.0.2 (X11/20050317) MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: Shells hang during script execution References: <43FF6AED DOT 1060102 AT steeleye DOT com> <20060224213808 DOT GA7638 AT trixie DOT casa DOT cgf DOT cx> In-Reply-To: <20060224213808.GA7638@trixie.casa.cgf.cx> Content-Type: text/plain; charset=ISO-8859-1; 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 Christopher Faylor wrote: > On Fri, Feb 24, 2006 at 03:22:05PM -0500, Paul Clements wrote: >>OK, I think I see what is happening now: >>set_signal_mask() does indeed call sig_dispatch_pending() to do a flush >>when the signal mask changes. However, when the sigq is empty, >>sig_dispatch_pending() just returns! See: >>sig_dispatch_pending (bool fast) { -if (exit_state || &_my_tls == >>_sig_tls || !sigq.start.next) +if (exit_state || &_my_tls == _sig_tls) > I always wondered if that "optimization" was right and now I see that it is > obviously racy. I've removed it from the source. OK, great. Thanks. > Not until I ran the test suite, waited five minutes and saw an error. > Attaching gdb to the running process shows another problem. I'll check > in a fix for this, too. Where can I find this patch? Could you post it or is there somewhere I should go to find it? I have a feeling I've probably run into this myself during my stress tests. -- Paul -- 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/