Hello,
Chris Marusich <[email protected]> skribis:
> Why does it pass? The (sleep 999999) form appears to be totally
> ignored, and I don't understand why. It's concerning to me that I can't
> understand how the code is being executed. I expected the test to hang.
According to the manual (info "(guile) Signals"):
--8<---------------cut here---------------start------------->8---
-- Scheme Procedure: sleep secs
-- Scheme Procedure: usleep usecs
-- C Function: scm_sleep (secs)
-- C Function: scm_usleep (usecs)
Wait the given period SECS seconds or USECS microseconds (both
integers). If a signal arrives the wait stops and the return value
is the time remaining, in seconds or microseconds respectively. If
the period elapses with no signal the return is zero.
--8<---------------cut here---------------end--------------->8---
So I suspect that the marionette process got a signal, and thus ‘sleep’
returned quickly. Could you print its return value?
HTH,
Ludo’.