mirror of
https://github.com/jlengrand/vert.x.git
synced 2026-03-10 08:51:19 +00:00
Set ReadStream handlers to null when the pipe operation completes
This commit is contained in:
@@ -87,6 +87,18 @@ public class PipeImpl<T> implements Pipe<T> {
|
||||
ws.exceptionHandler(err -> result.tryFail(new WriteException(err)));
|
||||
src.resume();
|
||||
result.setHandler(ar -> {
|
||||
try {
|
||||
src.handler(null);
|
||||
} catch (Exception ignore) {
|
||||
}
|
||||
try {
|
||||
src.exceptionHandler(null);
|
||||
} catch (Exception ignore) {
|
||||
}
|
||||
try {
|
||||
src.endHandler(null);
|
||||
} catch (Exception ignore) {
|
||||
}
|
||||
try {
|
||||
if (ar.succeeded()) {
|
||||
if (endOnSuccess) {
|
||||
|
||||
@@ -40,6 +40,9 @@ public class PipeTest extends AsyncTestBase {
|
||||
FakeStream<Object> src = new FakeStream<>();
|
||||
src.pipeTo(dst, onSuccess(v -> {
|
||||
assertTrue(dst.isEnded());
|
||||
assertNull(src.handler());
|
||||
assertNull(src.exceptionHandler());
|
||||
assertNull(src.endHandler());
|
||||
assertEquals(Arrays.asList(o1, o2, o3), emitted);
|
||||
testComplete();
|
||||
}));
|
||||
|
||||
Reference in New Issue
Block a user