delorie.com/archives/browse.cgi | search |
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. 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
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |