Timeouts
To use the bindings from this module:
(import :std/misc/timeout)
make-timeout
(make-timeout t [def = absent-obj]) -> time object | def | error
t := real number in seconds | time object | #f (false value)
def := default value returned in case t is #f
Creates a time object representing a time point relative to the current time.
These time objects are used as timeout input parameters for synchronization
primitives in modules such as :gerbil/gambit/threads or :std/misc/channel:
(thread-sleep! timeout)(thread-join! thread [timeout [timeout-val]])(mutex-lock! mutex [timeout [thread]])(mutex-unlock! mutex [condition-variable [timeout]])(channel-put channel value [time-object])(channel-get channel [time-object [default]])
make-timeout expects t to be exact or inexact real number in seconds; a time
point object satisfying time?, in which case it returns t itself; or #f,
which is often the case for gerbil's internal usage of make-timeout, returning
the optional default parameter def instead.
Signals an error when t is something other than a real number, a time object or #f.
Examples:
> (import :gerbil/gambit/threads)
> (thread-sleep! (make-timeout 10))
; no output, but will take ten seconds to complete