(index ("monitor-ref?" 0) ("pid?" 123) ("process-exist?" 234) ("timeout-condition?" 359) ("spawn" 503) ("self" 650) ("setup-thread" 743) ("make-tag" 959) ("monitor" 1097) ("demonitor" 1707) ("!" 1819) ("!!" 1917) ("?" 2062) ("??" 2164) ("!?" 2287) ("recv" 2621))
(def (sig (procedure "(monitor-ref? OBJ)" (id monitor-ref?))) (p "Whether " (tt "obj") " is a monitor reference or not."))
(def (sig (procedure "(pid? OBJ)" (id pid?))) (p "Whether " (tt "obj") " is a " (tt "pid") " object or not."))
(def (sig (procedure "(process-exist? PID)" (id process-exist?))) (p "Whether " (tt "pid") " is a running process or not."))
(def (sig (procedure "(timeout-condition? OBJ)" (id timeout-condition?))) (p "Whether " (tt "obj") " is " (tt "timeout-condition") " or not."))
(def (sig (procedure "(spawn PROC . ARGS)" (id spawn))) (p "Create a process running " (tt "(proc args ...)") " and returns its " (tt "pid") "."))
(def (sig (procedure "(self)" (id self))) (p "Return the current process' " (tt "pid") "."))
(def (sig (procedure "(setup-thread [THREAD])" (id setup-thread))) (p "Make " (tt "thread") " a hardwood process.") (p "If given, " (tt "thread") " must be a srfi-18 thread. Otherwise, the current thread is used."))
(def (sig (procedure "(make-tag)" (id make-tag))) (p "Return a new " (tt "tag") ".") (p "Tags are guaranteed to be universally unique."))
(def (sig (procedure "(monitor PID)" (id monitor))) (p "The calling process starts monitoring the " (tt "pid") " process.") (p "Return a monitor reference " (tt "ref") ".") (p "If that process exits, either normally or not, the caller process will be informed with a message of the form:") (p (tt "('DOWN ref pid reason)")) (p "where " (tt "reason") " can be one of the following:") (dl (dt "symbol " (tt "exited")) (dd "the process exited normally") (dt "symbol " (tt "no-process")) (dd "the process didn't exist") (dt "list " (tt "('condition c)")) (dd "the process exited because of condition " (tt "c"))))
(def (sig (procedure "(demonitor ref)" (id demonitor))) (p "Stop the monitor associated with " (tt "ref") "."))
(def (sig (procedure "(! PID MSG)" (id !))) (p "Send " (tt "msg") " to process " (tt "pid") "."))
(def (sig (procedure "(!! LIST MSG)" (id !!))) (p (tt "List") " must be a list of pids.") (p "Send " (tt "msg") " to all pids in " (tt "list")))
(def (sig (syntax "(? [TIMEOUT [DEFAULT]])" (id ?))) (p "Fetch the first message from the mailbox."))
(def (sig (procedure "(?? PRED [TIMEOUT [DEFAULT]])" (id ??))) (p "Fetch the next message that matches " (tt "pred") "."))
(def (sig (procedure "(!? PID MSG [TIMEOUT [DEFAULT]])" (id !?))) (p "Send " (tt "msg") " to process " (tt "pid") " and wait for a reply.") (p "The actual message sent to " (tt "pid") " is (list (self) tag " (tt "msg") ").") (p "This procedure wait for a reply of the form (list tag " (tt "reply") ") and returns " (tt "reply") "."))
(def (sig (syntax "(recv PAT [...] [(after TIMEOUT TMO-ACTION)])" (id recv))) (p "Match incoming messages against " (tt "PAT ...") ".") (p "Each pattern must be a valid pattern for " (b (int-link "/egg/matchable" "match")) ".") (p "Optionally, do " (tt "tmo-action") " after " (tt "timeout") ".") (p (b "This version of " (tt "recv") " is incompatible with the one defined in the Termite paper and implementation as it uses the syntax of the " (int-link "matchable") " egg.")))
