Function
await (mutex-list, c) -> ()
Waits until every mutex in mutex-list is free and an arbitrary condition is true. The await function calls c to test for the condition.
If c() evaluates to true, await does not release the mutexes. The mutexes are only released if an exception occurs during the evaluation of c().
The mutex-list is of type mutex list. The c function is of type unit -> bool. Returns unit.