Hello,

Chris Marusich <cmmarus...@gmail.com> 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’.

Reply via email to