Skip to content

Commit

Permalink
fix: do not defer construction by one microtick in stream (#42046)
Browse files Browse the repository at this point in the history
  • Loading branch information
codebytere authored May 7, 2024
1 parent e76787e commit c7187d5
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 0 deletions.
1 change: 1 addition & 0 deletions patches/node/.patches
Original file line number Diff line number Diff line change
Expand Up @@ -47,3 +47,4 @@ fix_revert_src_lb_reducing_c_calls_of_esm_legacy_main_resolve.patch
src_preload_function_for_environment.patch
deprecate_vector_v8_local_in_v8.patch
fs_fix_wtf-8_decoding_issue.patch
stream_do_not_defer_construction_by_one_microtick.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Matteo Collina <hello@matteocollina.com>
Date: Thu, 7 Mar 2024 17:28:25 +0100
Subject: stream: do not defer construction by one microtick
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Fixes: https://github.com/nodejs/node/issues/51993
PR-URL: https://github.com/nodejs/node/pull/52005
Reviewed-By: Robert Nagy <ronagy@icloud.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>

diff --git a/lib/internal/streams/destroy.js b/lib/internal/streams/destroy.js
index 28802cae5eff32b17d869be5f79b28be84bc09d5..96e61491f08cfc32e1ba780b8136ec02fc38e7b9 100644
--- a/lib/internal/streams/destroy.js
+++ b/lib/internal/streams/destroy.js
@@ -291,7 +291,7 @@ function constructNT(stream) {
} else if (err) {
errorOrDestroy(stream, err, true);
} else {
- process.nextTick(emitConstructNT, stream);
+ stream.emit(kConstruct);
}
}

@@ -304,10 +304,6 @@ function constructNT(stream) {
}
}

-function emitConstructNT(stream) {
- stream.emit(kConstruct);
-}
-
function isRequest(stream) {
return stream?.setHeader && typeof stream.abort === 'function';
}

0 comments on commit c7187d5

Please sign in to comment.