X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org Date: Thu, 24 May 2012 13:19:46 +0200 From: Corinna Vinschen To: cygwin AT cygwin DOT com Subject: Re: 1.7.15-1: pthread_cancel and pthread_kill not working as expected Message-ID: <20120524111946.GB18736@calimero.vinschen.de> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <20120522110238 DOT GC15843 AT calimero DOT vinschen DOT de> <4FBB93D6 DOT 90408 AT sister-shadow DOT de> <20120523085215 DOT GG9200 AT calimero DOT vinschen DOT de> <20120523160625 DOT GL9200 AT calimero DOT vinschen DOT de> <20120523171834 DOT GM9200 AT calimero DOT vinschen DOT de> <4FBD217B DOT 8000803 AT acm DOT org> <20120523175403 DOT GN9200 AT calimero DOT vinschen DOT de> <20120523201041 DOT GP9200 AT calimero DOT vinschen DOT de> <4FBE0730 DOT 6020103 AT sister-shadow DOT de> <4FBE0F0C DOT 2020206 AT sister-shadow DOT de> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <4FBE0F0C.2020206@sister-shadow.de> User-Agent: Mutt/1.5.21 (2010-09-15) Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: 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 May 24 12:35, Otto Meta wrote: > > My testcases for asynchronous and deferred cancel work on threads > > blocked in sem_wait() but still fail mostly on threads blocked in > > read(STDIN_FILENO, ...), same as before. Sorry about that. > > I spoke too soon. There seems to be some kind of runtime decay and a > dependency on semaphore.h. > > Running the same test or the two tests alternating works for about three > times just as expected but further runs fail as before. A reboot fixes > that and gives me another few chances. This only applies to read(). You know that Cygwin is just a user space DLL, right? There's no state information kept in the OS beyond the lifetime of any process using the Cygwin DLL. In case of pthreads, there's no state at all shared with other processes. But even if so, if you stop *all* Cygwin processes and then start another one, all info from the old processes is gone and you should be back to normal. If that's not the case, I would suspect a case of BLODA. > sem_wait() always works. > > If the test code includes semaphore.h but doesn’t even use any of its > functions it fails right away, just like before. A reboot doesn’t help. Is that with the same "read" testcases you sent two days ago? If so, I can't reproduce it. I ran both tests in a loop, with and without an additional semaphore.h, but to no avail. They both just work. This is under W7 on a dual-core machine. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple