stream: propagate errors from src streams in async iterator
This should fix errors not being propagated when using async iterators on a piped stream if an error occured in one of the sources in the pipe chain/pipeline, which makes it very difficult & weird to handle errors.
Now piped streams keep track of the sources, so only when Symbol.asyncIterator
is called on the destination stream, an error
handle can be attached to each source & trigger an error on the stream being iterated.
The 3 added tests fail on master.
Fixes: #28194 (closed)
Checklist
-
make -j4 test
(UNIX), orvcbuild test
(Windows) passes -
tests and/or benchmarks are included -
commit message follows commit guidelines