(index ("make-timed-resource" 0) ("with-timed-resource" 1082) ("timed-resource?" 1477) ("timed-resource-name" 1620) ("default-timed-resource-timeout" 1768) ("default-timed-resource-timeout" 1768))
(def (sig (procedure "(make-timed-resource OPENER CLOSER TIMEOUT [NAME]) -> timed-resource" (id make-timed-resource))) (p "Returns a new " (tt "timed-resource") " object that covers a resource with a lifetime of " (tt "TIMEOUT") " seconds. The resource is acquired by the " (tt "OPENER") " and released by the " (tt "CLOSER") ". An acquired resource will be released automatically at the end of its' life.") (dl (dt (tt "OPENER")) (dd (tt "(procedure () *)") " ; returns the " (tt "resource-object")) (dt (tt "CLOSER")) (dd (tt "(procedure (*))") " ; takes the " (tt "resource-object") " (returned by " (tt "OPENER") ")") (dt (tt "TIMEOUT")) (dd (tt "number") " ; seconds") (dt (tt "NAME")) (dd (tt "*") " ; prefix for the " (tt "gensym") " of the created " (tt "timed-resource"))) (p "No attempt is made to serialize access to a resource, this is up to the caller; just don't share the thing.") (p "Exceptions occurring during resource acquisition or release abort the operation. Exceptions during resource release at shutdown are just displayed but no further action is taken."))
(def (sig (procedure "(with-timed-resource TIMED-RESOURCE ACTION) -> *" (id with-timed-resource))) (p "Returns the result of invoking " (tt "ACTION") " with the resource covered by the " (tt "TIMED-RESOURCE") ". The acquired resource will not be released during the extent of the " (tt "with-timed-resource") " invocation.") (p (tt "ACTION") " is a " (tt "(procedure (timed-resource) *)") "."))
(def (sig (procedure "(timed-resource? OBJECT) -> boolean" (id timed-resource?))) (p "Is the " (tt "OBJECT") " a " (tt "timed-resource") "?"))
(def (sig (procedure "(timed-resource-name TIMED-RESOURCE) -> *" (id timed-resource-name))) (p "Returns unique id for " (tt "TIMED-RESOURCE") "."))
(def (sig (procedure "(default-timed-resource-timeout) -> (or #f number)" (id default-timed-resource-timeout)) (procedure "(default-timed-resource-timeout SECONDS) -> " (id default-timed-resource-timeout))) (p "Gets & sets the number of seconds to wait for a thread to quit.") (p "Default is " (tt "#f") ".") (p "Currently only used at shutdown."))
