summaryrefslogtreecommitdiff
path: root/lib/internal/streams
diff options
context:
space:
mode:
authorRichard Lau <riclau@uk.ibm.com>2019-09-27 20:32:40 -0400
committerRich Trott <rtrott@gmail.com>2019-09-28 06:53:52 -0700
commit95792a79892471e2c691c071e85d7fea29aa40cd (patch)
treec1aa9453b59136d92e7a5ceca7fb2abaf7cd8d13 /lib/internal/streams
parent35bfe0e414f4d4b79ca0820c3b0dd41e61d893be (diff)
downloadandroid-node-v8-95792a79892471e2c691c071e85d7fea29aa40cd.tar.gz
android-node-v8-95792a79892471e2c691c071e85d7fea29aa40cd.tar.bz2
android-node-v8-95792a79892471e2c691c071e85d7fea29aa40cd.zip
Revert "stream: invoke callback before emitting error always"
This reverts commit 3de5eae6dbe503485b95bdeb8bddbd67e4613d59. PR-URL: https://github.com/nodejs/node/pull/29741 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Diffstat (limited to 'lib/internal/streams')
-rw-r--r--lib/internal/streams/destroy.js13
1 files changed, 1 insertions, 12 deletions
diff --git a/lib/internal/streams/destroy.js b/lib/internal/streams/destroy.js
index 8708ca022c..27985482ce 100644
--- a/lib/internal/streams/destroy.js
+++ b/lib/internal/streams/destroy.js
@@ -27,10 +27,6 @@ function destroy(err, cb) {
const r = this._readableState;
const w = this._writableState;
- if (w && err) {
- w.errored = true;
- }
-
if ((w && w.destroyed) || (r && r.destroyed)) {
if (cb) {
cb(err);
@@ -54,12 +50,10 @@ function destroy(err, cb) {
this._destroy(err || null, (err) => {
const emitClose = (w && w.emitClose) || (r && r.emitClose);
if (cb) {
- // Invoke callback before scheduling emitClose so that callback
- // can schedule before.
- cb(err);
if (emitClose) {
process.nextTick(emitCloseNT, this);
}
+ cb(err);
} else if (needError(this, err)) {
process.nextTick(emitClose ? emitErrorCloseNT : emitErrorNT, this, err);
} else if (emitClose) {
@@ -97,7 +91,6 @@ function undestroy() {
if (w) {
w.destroyed = false;
- w.errored = false;
w.ended = false;
w.ending = false;
w.finalCalled = false;
@@ -117,10 +110,6 @@ function errorOrDestroy(stream, err) {
const r = stream._readableState;
const w = stream._writableState;
- if (w & err) {
- w.errored = true;
- }
-
if ((r && r.autoDestroy) || (w && w.autoDestroy))
stream.destroy(err);
else if (needError(stream, err))