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>