X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-2.2 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,KHOP_THREADED,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE X-Spam-Check-By: sourceware.org Message-ID: <4FBE4DCF.1060306@sister-shadow.de> Date: Thu, 24 May 2012 17:03:43 +0200 From: Otto Meta User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20120430 Thunderbird/12.0.1 MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: 1.7.15-1: pthread_cancel and pthread_kill not working as expected 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> <20120524111946 DOT GB18736 AT calimero DOT vinschen DOT de> In-Reply-To: <20120524111946.GB18736@calimero.vinschen.de> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: 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 2012-05-24 13:19, Corinna Vinschen wrote: > 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. Yes, that’s exactly why I’m confused about it. > 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. Yes, I tried that and it changed nothing. I took the chance to uninstall some unused software and stopped all dodgy-sounding Windows services, including Windows Defender, so that the only thing left from the BLODA was the nVidia driver: No change. Rebasing also didn’t help. >> 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. Yes, same tests (the ones blocking on read()), but the semaphore.h was probably unrelated after all. I also ran the tests continuously and discovered the following: Running the same test several times manually from a cmd shell works a few times, then fails. Running the async and deferred tests alternating from cmd works, even after they failed previously. Running one of the tests manually from bash fails most of the time. $ while :; do ./testcase_cancel_asynchronous; done First test run usually fails, further runs succeed. Same for the deferred testcase. $ sleep 1; while :; do ./testcase_cancel_asynchronous; done All test runs succeed, including the first one. Same for the deferred testcase. I am now convinced that my system is toying with me. As I actually don’t need to read from stdin with several threads and only discovered this problem while you fixed async cancel (thanks for that), I’m inclined to ignore this “problem” and stop wasting your time, unless you want me to try something else to debug this. > This is under W7 on a dual-core machine. Same here. Otto -- 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