diff --git a/lib/net.js b/lib/net.js index ae389940b39596..1bcbe94c53ddb9 100644 --- a/lib/net.js +++ b/lib/net.js @@ -345,6 +345,12 @@ Socket.prototype._final = function(cb) { return this.once('connect', () => this._final(cb)); } + // TODO(addaleax): This should not be necessary. + if (!this.readable || this._readableState.ended) { + cb(); + return this.destroy(); + } + if (!this._handle) return cb();