Re: Hurd_condition_wait in glibc libpthreads in Debian
From: Richard Braun <rbraun@sceen.net>
To: Thomas DiModica <ricinwich@yahoo.com>
Cc: "debian-hurd@lists.debian.org" <debian-hurd@lists.debian.org>; "bdefreese@debian.org" <bdefreese@debian.org>
Sent: Tuesday, July 31, 2012 4:48 PM
Subject: Re: Hurd_condition_wait in glibc libpthreads in Debian
On Tue, Jul 31, 2012 at 03:16:05PM -0700, Thomas DiModica wrote:
> As an aside, Vicente Ara (zenton) actually wrote the pthread hurd_condition_wait.
> For the provenance of this file, see the thread:
> http://lists.gnu.org/archive/html/bug-hurd/2002-11/msg00195.html
My understanding is that pthread_cond_wait is a cancellation point,
which means if a cancellation actually happens there, cleanup routines
will be called, and the thread will exit instead of returning to the
caller, which is of course *not* what we want here. We want
hurd_condition_wait to report to the caller that it was cancelled,
nothing more.
--
Richard Braun
----- Original Message -----
That would be my understanding, too.
Well, it is still a cancellation point, but for a different kind of cancellation.
I think that "RPC interruption" would be a better way to describe it.
And my understanding is also that that is what Vicente's function does.
Most of what I understand is from what Marcus has to say in this thread here:
http://lists.gnu.org/archive/html/hurd-devel/2002-07/msg00010.html
My understanding is that hurd_condition_wait is used with hurd_thread_cancel
in libc, as libc uses a different cancellation semantics than is provided by
POSIX in pthreads.
I'm going to cross-post this bug-hurd, so that if I am wrong, someone there will
straighten me out.
Thomas D
Reply to: