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