(alts!! ports & {:as opts})
Like alts!, except takes will be made as if by <!!, and puts will
be made as if by >!!, will block until completed, and not intended
for use in (go ...) blocks.
Source
(defn alts!!
"Like alts!, except takes will be made as if by <!!, and puts will
be made as if by >!!, will block until completed, and not intended
for use in (go ...) blocks."
[ports & {:as opts}]
(let [p (promise)
ret (do-alts (partial deliver p) ports opts)]
(if ret
@ret
(deref p))))