This is the mail archive of the
cygwin
mailing list for the Cygwin project.
RE: pthread_kill: signals remain pending after target thread exits
- From: John Carey <aeolus at electric-cloud dot com>
- To: "cygwin at cygwin dot com" <cygwin at cygwin dot com>
- Date: Mon, 2 Nov 2015 23:54:54 +0000
- Subject: RE: pthread_kill: signals remain pending after target thread exits
- Authentication-results: sourceware.org; auth=none
- References: <28F5B565B6F6424C87E4AC0DCC84316575D71070 at S1P5DAG5C dot EXCHPROD dot USA dot NET> <20151021114810 dot GQ5319 at calimero dot vinschen dot de> <28F5B565B6F6424C87E4AC0DCC84316575D73A86 at S1P5DAG5C dot EXCHPROD dot USA dot NET> <20151023125540 dot GI5319 at calimero dot vinschen dot de> <28F5B565B6F6424C87E4AC0DCC84316575D8071E at S1P5DAG5C dot EXCHPROD dot USA dot NET> <20151028091459 dot GZ5319 at calimero dot vinschen dot de> <20151029080218 dot GF5319 at calimero dot vinschen dot de> <28F5B565B6F6424C87E4AC0DCC84316575D81A49 at S1P5DAG5C dot EXCHPROD dot USA dot NET> <20151102141838 dot GB963 at calimero dot vinschen dot de>,<20151102175800 dot GA13010 at calimero dot vinschen dot de>
> From: Corinna Vinschen [corinna-cygwin@cygwin.com]
> Sent: Monday, November 02, 2015 9:58 AM
> On Nov 2 15:18, Corinna Vinschen wrote:
> > On Oct 29 16:16, John Carey wrote:
> > > > From: Corinna Vinschen [corinna-cygwin@cygwin.com]
> > > > Sent: Thursday, October 29, 2015 1:02 AM
> > > > On Oct 28 10:14, Corinna Vinschen wrote:
> > > ...
> > > > > > Thanks; that was fast! I tried replacing cygwin1.dll with cygwin1-20151023.dll .
> > > > > >
> > > > > > The original test case now works. I checked some of my other tests,
> > > > > > and unfortunately some of them failed, so I extracted out a new test
> > > > > > case, which is attached. My guess is that something is subtly different
> > > > > > about the timing on this test.
> > > > >
> > > > > Is this a regression? Did it work with 2.2.1?
> > > >
> > > > Answering myself here, this didn't work at all in 2.2.1. I can
> > > > reproduce the problem and I'm going to take a look. Not sure if
> > > > there's a quick solution, though. This looks like a deadlock
> > > > situation. The signal definitely got send, I just don't see yet
> > > > why it's not handled in wait_sig.
> > >
> > > Yes, test_pending_signal2.c fails in 2.2.1, though the symptoms
> > > differ: there is no Cygwin process left hanging that cannot be
> > > killed by a Cygwin signal.
> > >
> > > But both tests appear to pass in Cygwin 1.7.9, so in that sense
> > > it is a regression, just not a recent one.
> >
> > The regression here was my original fix. It didn't clear pending
> > signals for an exiting thread thorougly enough. I applied a patch now
> > which should fix this issue. I'll upload a new developer snapshot to
> > https://cygwin.com/snapshots/ later today or tomorrow (still looking
> > into the PrlFS issue). Please give it a try.
>
> Snapshot is up. The fix is in the 2.3.0-0.5 test release as well.
> Please give any one of them a try.
I tested snapshot cygwin1-20151102.dll, and it works in all of my tests. Nice!
I'm glad you figured out how to delete those pending signals.
Thanks,
John Carey
--
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