2017-07-10 10:30 GMT+02:00 Richard Braun <rbr...@sceen.net>:
> On Sun, Jul 09, 2017 at 10:18:05PM +0200, Joan Lledó wrote:
>> However, after all the pending threads still were not being canceled.
>> The problem here was that the standard function where the threads
>> where blocked on, pthread_cond_wait(), didn't respond to cancel
>> requests from hurd_thread_cancel(). It was strange, because
>> pthread_cond_wait() is a valid cancellation point. But in the Hurd
>> servers we need to call our own non-standard version,
>> pthread_hurd_cond_wait_np()[7], which reacts to requests from
>> hurd_thread_cancel() and stops blocking the thread.
>
> Cancellability and interruptibility are two different things. In
> particular, note how POSIX explicitely mentions that "These functions
> shall not return an error code of [EINTR]."

I didn't realise that difference. Thanks for pointing it!

> --
> Richard Braun

Reply via email to