SRFI-18 gives an alternate definition for thread-sleep! as follows:
(define (sleep! timeout)
(let ((m (make-mutex)))
(mutex-lock! m #f #f)
(mutex-lock! m timeout #f)))
This doesn't work in SISC, because SISC mutexes are reentrant.
So either SRFI-18 is underspecified/ambiguous (whether mutexes are reentrant is not explicitly stated, although from the above example they implicitly are not) or SISC does not in fact support SRFI-18.
Log in to post a comment.