Hi Maxime,

Thank you for your thoughts!

The documentation of libc suggests that the signal handler is run before
any system call return EINTR, so I think Guile should have added the
handler to the 'pending list' before the call to sleep returns.

https://www.gnu.org/software/libc/manual/html_node/Interrupted-Primitives.html

Right, I don't think there is a promise of when scm_async_tick is run,
which is why I tried to run it manually just in case. It doesn't seem
to change anything.

As for 3, I tried putting async_ticks everywhere, doesn't seem to change
anything.

However, this morning, I'm having difficulty reproducing the issue... I
guess this is how it is with race conditions. Will update if I find
anything new...

~ Vijay

Reply via email to