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’.