On May 23 10:42, David Rothenberger wrote: > On 5/23/2012 10:18 AM, Corinna Vinschen wrote: > > On May 23 18:06, Corinna Vinschen wrote: > >> On May 23 10:52, Corinna Vinschen wrote: > >>> On May 22 15:25, Otto Meta wrote: > >>>>>> Testcase cancel deferred: > >>>>>> Works with 1.7.9 and 20120517 snapshot, fails (hangs) with 1.7.12-1 > >>>>>> and 1.7.15-1. > >>>>> If that works in the snapshot anyway, I'm not going to look into that > >>>>> one. > >>>> > >>>> It worked in the reduced testcase with sem_wait(). With read() it’s > >>>> still half-broken. See below. > >>>> > >>>>>> Testcase cancel asynchronous: > >>>>>> Async cancel seems to have no effect with any tested version. > >>>>> I think I found a solution for this problem. See the comment in the > >>>>> patch at > >>>>> http://sourceware.org/cgi-bin/cvsweb.cgi/src/winsup/cygwin/thread.cc.diff?cvsroot=src&r1=1.258&r2=1.259 > >>>>> Please test the today's developer snapshot. > >>>> > >>>> Asynchronous cancel seems to work as well as deferred cancel now. Thanks. > >>>> > >>>> Both cancel types work with sem_wait() and pause() now, but for threads > >>>> blocked in read() they’re still unreliable. Only one of three blocked > >>>> threads is killed in the attached updated testcases. > >>> > >>> Just to let you know I'm working on it. This will take some time. > >>> During debugging I stumbled over a heisenbug. As soon as I remove the > >>> "Thread %i woke up just fine" printf from your test application, the > >>> read function reurns with a "Bad address" error. So far I have onlya > >>> vague hunch what the cause may be. Stay tuned. > >> > >> Half of the solution is now checked in to CVS. The other half is a bad > >> hack to workaround a shortcoming in newlib's stdio functions. I'd rather > >> have a solution in newlib. see my request on the newlib ML: > >> http://cygwin.com/ml/newlib/2012/msg00188.html > > > > Ok, for the time being I checked in my workaround. Please test the > > today's developer snapshot. > > I tried installing this snapshot and found most things hung. > Specifically, I ran ash in a Windows cmd window, then tried > > /bin/echo foo > > I tried mintty too but bash hangs before I get a prompt.
Big fat sigh. This all worked fine while debugging. Just that the snapshot is built with optimization and my debugging version is not. Ok, back to the drawing board. 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