In general, it occurs when there's some mistake in the direction the stream flows, for instance:
my = Proc::Async.new("ls", :w);my = "ls.out".IO.open(:w);.bind-stdin();# Fails with OUTPUT: «Cannot both bind stdin to a handle and also use :w␤»
In this case,
stdin is already bound and cannot be used again; one of them should flow
:out and the other one
:w to work correctly.