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

next in thread | previous in thread | raw e-mail | index | archive | help
Hi,

On Thu, 3 Sep 2015 13:43:51 +0300
Konstantin Belousov <kostikbel@gmail.com> wrote:

> On Thu, Sep 03, 2015 at 06:33:53PM +0800, Erich Dollansky wrote:
> > 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

I did not know of this. I simply blocked all. As it worked when I
tested it those days, I forgot about it.

> 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.
> 
I am just updating another machine. It might be already tomorrow when I
will come back to you.

Erich



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