This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: LinuxThreads cancellation bug.
- To: Ulrich Drepper <drepper at cygnus dot com>
- Subject: Re: LinuxThreads cancellation bug.
- From: Kaz Kylheku <kaz at ashi dot footprints dot net>
- Date: Mon, 6 Nov 2000 18:48:20 -0800 (PST)
- cc: libc-alpha at sources dot redhat dot com
On 6 Nov 2000, Ulrich Drepper wrote:
> Date: 06 Nov 2000 17:54:49 -0800
> From: Ulrich Drepper <drepper@redhat.com>
> Reply-To: Ulrich Drepper <drepper@cygnus.com>
> To: Kaz Kylheku <kaz@ashi.footprints.net>
> Cc: libc-alpha@sources.redhat.com
> Subject: Re: LinuxThreads cancellation bug.
>
> Kaz Kylheku <kaz@ashi.footprints.net> writes:
>
> > I believe that it is sufficient, simply because that extrication
> > pointer is not registered if the thread's cancelation is disabled,
> > so kill() will be called rather than restart(). The thread's signal
> > handler will note that cancelation is disabled and not do anything.
>
> I'm not convinced at all. If it's working it is far too complicated.
I agree; if it's not obvious why it works, some reader of the code may waste
time wondering about it, convincing him or herself that it does. Secondly, it
may break without someone noticing (as has already happened!!!). The 2.1.2 and
earlier versions depended on that logic of not having an explicit test, and I
broke it miserably. As a result, 2.1.3 shipped with cancelation disabling
horribly broken.
I must apologize for that one!