Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 3 Sep 2015 13:43:51 +0300
From:      Konstantin Belousov <kostikbel@gmail.com>
To:        Erich Dollansky <erichsfreebsdlist@alogt.com>
Cc:        FreeBSD stable <freebsd-stable@freebsd.org>, freebsd-threads@freebsd.org
Subject:   Re: pthread_cancel / sleep change in behaviour
Message-ID:  <20150903104351.GE2072@kib.kiev.ua>
In-Reply-To: <20150903183353.2633a38b@X220.alogt.com>
References:  <20150903080047.16be939e@X220.alogt.com> <20150903081947.GB2072@kib.kiev.ua> <20150903183353.2633a38b@X220.alogt.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Sep 03, 2015 at 06:33:53PM +0800, Erich Dollansky wrote:
> Hi,
> 
> On Thu, 3 Sep 2015 11:19:47 +0300
> Konstantin Belousov <kostikbel@gmail.com> wrote:
> 
> > On Thu, Sep 03, 2015 at 08:00:47AM +0800, Erich Dollansky wrote:
> > > 
> > > Is this change of behaviour a feature or a bug?
> > 
> > Provide a minimal example demonstrating the issue.
> 
> while preparing the example I found the source of the problem. We have
> to block all signals for some reason. The handling for
> 
> signal (SIGTHR, SIG_IGN);
> 
> seems to have changed. The moment I remove above's line from the code,
> the program works. There is no difference when the programs runs on
> machines prior mid November 2014.
> 
Err, this is a bug, probably both in your program (user code must not
twiddle with SIGCANCEL) and in libc. The later, I believe, was fixed in
the HEAD r287300, which is not yet merged back to stable/10. The libthr
has a protection disallowing user code manipulating SIGCANCEL, but due
to the bug in libc signal(3) override the libthr measures.

Apply the r287300 to your src/ and try your unchanged program with updated
libc.  But yes, SIGTHR/SIGCANCEL in the program is bug.

> Thanks for your help. Simplifying the program brought me to the
> solution. 
> 
> Do you want the example?
> 
> Erich
> > _______________________________________________
> > freebsd-stable@freebsd.org mailing list
> > https://lists.freebsd.org/mailman/listinfo/freebsd-stable
> > To unsubscribe, send any mail to
> > "freebsd-stable-unsubscribe@freebsd.org"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20150903104351.GE2072>