cfunction
(ev/select & clauses)
Block until the first of several channel operations occur. Returns a
tuple of the form [:give chan] or [:take chan x], where a :give tuple
is the result of a write and :take tuple is the result of a write.
Each clause must be either a channel (for a channel take operation)
or a tuple [channel x] for a channel give operation. Operations are
tried in order, such that the first clauses will take precedence over
later clauses.