NAME await SYNTAX await() await(, ) DESCRIPTION The instruction is only allowed in a coroutine and suspends its execution. The target coroutine must also be in a suspended state. Its execution will then continue. The current coroutine will wait for the execution of the target coroutine to finish with a return statement or end of statement block. It cannot continue its execution until then. Only one coroutine may wait for another. If there is already a coroutine waiting for the target coroutine the instruction will fail. Any calls during the waiting period to continue the current coroutine will result in execution of the target coroutine. So the await() call can be seen as a sub-coroutine call. The value will be passed into the target coroutine as the result of its yield() instruction that suspended its execution before. If the coroutine had just started, the value will be discarded. If no value was given, 0 will be passed instead. HISTORY Coroutines were introduced in LDMud 3.6.5. SEE ALSO coroutines(LPC), async(LPC), yield(LPC), foreach(LPC), call_coroutine(E), this_coroutine(E)