TinyMUX

@wait

Commands

COMMAND:

    • @wait**[/until] =
    • @wait**[/until] [/]=
        • @wait** /=

          Generally, @wait defers the execution of until some future condition or combination of conditions.

          The first form of @wait executes at some future time.

          The second form executes when the object’s semaphore is notified. If is specified in this second form, is executed at some future time even if the object’s semaphore isn’t notified. This is sometimes referred to as a ’timeout'.

          The third form allows the use of an attribute other than ‘semaphore’. It allows multiple sets of semaphore-blocked commands to use the same object.

          This command charges a deposit of 10 coins which is refunded when is executed or otherwise leaves the queue.

          By default, is relative to the time @wait is processed, however if /until used, is taken as absolute (See secs, convtime and convsecs). can also express fractional seconds.

          Examples:    > @wait 2.001=think FooBar    FooBar    > think secs()    1004732313    > @wait/until 1004732400.5=think FooBar    FooBar    > @dolist [setq(0,iadd(secs(),2))]75 0 25=@wait/until %q0.##=think ##    0    25    75

          Related Topics: @drain, @notify, @ps, SEMAPHORES, secs(), convtime(), convsecs().