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 Mime-Version: 1.0 (Apple Message framework v622) In-Reply-To: <429CA3E8.7070909@acm.org> References: <44f83c19cc33e4382680fe3758164ccf AT rehley DOT net> <20050527202823 DOT GB4939 AT trixie DOT casa DOT cgf DOT cx> <0833be552ca5aa00a72ecef822250580 AT rehley DOT net> <20050528161515 DOT GA1323 AT trixie DOT casa DOT cgf DOT cx> <1064750c32ec165a486fe7dba0f8b302 AT rehley DOT net> <429CA3E8 DOT 7070909 AT acm DOT org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Message-Id: From: Peter Rehley Subject: Re: pthreads, cygwin and pthread_mutex_lock not blocking Date: Wed, 1 Jun 2005 17:22:59 -0700 To: cygwin AT cygwin DOT com X-IsSubscribed: yes Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id j520NLiH007966 On May 31, 2005, at 10:50 AM, David Rothenberger wrote: > On 5/31/2005 10:15 AM, Peter Rehley wrote: >> Well, here is a simple test case, but turns out I wasn't using the >> latest version. I was having the problem on 1.5.12, I haven't been >> able to get a good build with cygwin 1.5.17-1. It builds and I can >> run the install script, but when I put the dll in place I see the >> message "cygheap magic number mismatch detected", and gcc doesn't >> want to work. > > I had a similar problem (see > ). It turned out it > was because I was using the latest release of binutils. Try rolling > back to the previous release. > Ok, I rolled binutils to 20041229, rebuilt and copied the new dll. It's having the same issue that I see in 1.5.12. When I debug the program, I see that the signal is being sent, but it doesn't get executed. I've looked at the cygwin code, and I have noticed that the sleep (nanosleep) is calling pthread::cancelable_wait, and that will call WaitForMultipleObjects. However, in pthread_mutex::_lock, it's only using WaitForSingleObject. I'm wondering if something like WaitForMultipleObjects should be added to the lock function so that signals (SIGCHLD, in my case) can be handled. It's just a guess since I'm not an expert with this code. Enjoy, Peter ------------------------------- A Møøse once bit my sister -- 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/