Skip to content

Commit

Permalink
stream: relocate the status checking code in the onwritecomplete
Browse files Browse the repository at this point in the history
relocate the status checking code before verifying if the stream is
destroyed

PR-URL: nodejs#54032
Reviewed-By: Robert Nagy <ronagy@icloud.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
  • Loading branch information
MCprotein authored and pull[bot] committed Oct 15, 2024
1 parent 28724f0 commit 7e33b6a
Showing 1 changed file with 9 additions and 11 deletions.
20 changes: 9 additions & 11 deletions lib/internal/stream_base_commons.js
Original file line number Diff line number Diff line change
Expand Up @@ -83,20 +83,18 @@ function onWriteComplete(status) {

const stream = this.handle[owner_symbol];

if (stream.destroyed) {
if (typeof this.callback === 'function')
this.callback(null);
return;
if (status < 0) {
const error = new ErrnoException(status, 'write', this.error);
if (typeof this.callback === 'function') {
return this.callback(error);
}

return stream.destroy(error);
}

// TODO (ronag): This should be moved before if(stream.destroyed)
// in order to avoid swallowing error.
if (status < 0) {
const ex = new ErrnoException(status, 'write', this.error);
if (stream.destroyed) {
if (typeof this.callback === 'function')
this.callback(ex);
else
stream.destroy(ex);
this.callback(null);
return;
}

Expand Down

0 comments on commit 7e33b6a

Please sign in to comment.