This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: 1.7.15-1: pthread_cancel and pthread_kill not working as expected

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 Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

Problem reports:
Unsubscribe info:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]