Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Aug 2010 11:53:52 +0000
From:      David Xu <davidxu@freebsd.org>
To:        Kostik Belousov <kostikbel@gmail.com>
Cc:        freebsd-threads@freebsd.org
Subject:   Re: PTHREAD_CANCEL_DEFERRED
Message-ID:  <4C6926D0.2020909@freebsd.org>
In-Reply-To: <20100814144715.GB2396@deviant.kiev.zoral.com.ua>
References:  <20100811204758.GQ2396@deviant.kiev.zoral.com.ua> <4C63D42D.8040606@freebsd.org> <20100812083006.GR2396@deviant.kiev.zoral.com.ua> <4C642E9B.8000300@freebsd.org> <20100812093353.GS2396@deviant.kiev.zoral.com.ua> <4C650D0F.9060905@freebsd.org> <4C650F27.1000305@freebsd.org> <20100813141402.GW2396@deviant.kiev.zoral.com.ua> <4C65E0FE.2030803@freebsd.org> <20100814144715.GB2396@deviant.kiev.zoral.com.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
Kostik Belousov wrote:

> Missed this, thank you for pointing it out. Updated patch is at
> http://people.freebsd.org/~kib//misc/cancel_defer.2.patch

I found SIGCANCEL is masked by
thr_cancel_deferred(THR_CANCEL_DEFERRED_ENABLE), issignal() does not
return the masked signal, so how a cancellation point syscall can be
interrupted by SIGCANCEL ? I think if a thread being canceled calls
msleep(PCATCH), it should find the signal and return EINTR.









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