[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [GSoC 2017] Multithreading
From: |
Joan Lledó |
Subject: |
Re: [GSoC 2017] Multithreading |
Date: |
Mon, 10 Jul 2017 17:03:24 +0200 |
2017-07-10 10:30 GMT+02:00 Richard Braun <rbraun@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