Hi, Olivier Dion <olivier.d...@polymtl.ca> skribis:
> If we got interrupted while waiting on our condition variable, we unlock > the kernel mutex momentarily while executing asynchronous operations > before putting us back into the waiting queue. > > However, we have to retry acquiring the mutex before getting back into > the queue, otherwise it's possible that we wait indefinitely since > nobody could be the owner for a while. > > * libguile/threads.c (lock_mutex): Try acquring the mutex after signal > interruption. Looks reasonable to me; applied. Did you try to come up with a reproducer? That would be awesome but I guess it’s hard because you need to trigger EINTR at the right point. Thanks, Ludo’.