As a quick test, I made pthread_cond_wait call to pthread_sem_take with the last argument to true (which then use the interruptible version) and it now cancels the wait. So it would seem that this is a bug right?

nxsem_wait_uninterruptible() should have no effect on thread cancellation (i.e., it should still return ECANCELED).  This only effects signal interrupts (EINTR).

So at this superficial level of analysis, nxsem_wait_uninterruptible() should be correct.  There is something else going on.

Reply via email to