aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/bun.js/builtins/cpp/ReadableStreamInternalsBuiltins.cpp12
-rw-r--r--src/bun.js/builtins/js/ReadableStreamInternals.js8
2 files changed, 12 insertions, 8 deletions
diff --git a/src/bun.js/builtins/cpp/ReadableStreamInternalsBuiltins.cpp b/src/bun.js/builtins/cpp/ReadableStreamInternalsBuiltins.cpp
index ab10bdeea..e2614c7e3 100644
--- a/src/bun.js/builtins/cpp/ReadableStreamInternalsBuiltins.cpp
+++ b/src/bun.js/builtins/cpp/ReadableStreamInternalsBuiltins.cpp
@@ -975,7 +975,7 @@ const char* const s_readableStreamInternalsIsReadableStreamDefaultControllerCode
const JSC::ConstructAbility s_readableStreamInternalsReadDirectStreamCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const JSC::ConstructorKind s_readableStreamInternalsReadDirectStreamCodeConstructorKind = JSC::ConstructorKind::None;
const JSC::ImplementationVisibility s_readableStreamInternalsReadDirectStreamCodeImplementationVisibility = JSC::ImplementationVisibility::Public;
-const int s_readableStreamInternalsReadDirectStreamCodeLength = 1534;
+const int s_readableStreamInternalsReadDirectStreamCodeLength = 1582;
static const JSC::Intrinsic s_readableStreamInternalsReadDirectStreamCodeIntrinsic = JSC::NoIntrinsic;
const char* const s_readableStreamInternalsReadDirectStreamCode =
"(function (stream, sink, underlyingSource) {\n" \
@@ -991,7 +991,8 @@ const char* const s_readableStreamInternalsReadDirectStreamCode =
" function close(stream, reason) {\n" \
" if (reason && underlyingSource?.cancel) {\n" \
" try {\n" \
- " underlyingSource.cancel(reason);\n" \
+ " var prom = underlyingSource.cancel(reason);\n" \
+ " @markPromiseAsHandled(prom);\n" \
" } catch (e) {\n" \
" }\n" \
"\n" \
@@ -1081,7 +1082,7 @@ const char* const s_readableStreamInternalsAssignToStreamCode =
const JSC::ConstructAbility s_readableStreamInternalsReadStreamIntoSinkCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const JSC::ConstructorKind s_readableStreamInternalsReadStreamIntoSinkCodeConstructorKind = JSC::ConstructorKind::None;
const JSC::ImplementationVisibility s_readableStreamInternalsReadStreamIntoSinkCodeImplementationVisibility = JSC::ImplementationVisibility::Public;
-const int s_readableStreamInternalsReadStreamIntoSinkCodeLength = 2795;
+const int s_readableStreamInternalsReadStreamIntoSinkCodeLength = 2868;
static const JSC::Intrinsic s_readableStreamInternalsReadStreamIntoSinkCodeIntrinsic = JSC::NoIntrinsic;
const char* const s_readableStreamInternalsReadStreamIntoSinkCode =
"(async function (stream, sink, isNative) {\n" \
@@ -1101,7 +1102,7 @@ const char* const s_readableStreamInternalsReadStreamIntoSinkCode =
" }\n" \
" var wroteCount = many.value.length;\n" \
" const highWaterMark = @getByIdDirectPrivate(stream, \"highWaterMark\");\n" \
- " if (isNative) @startDirectStream.@call(sink, stream, @undefined, () => !didThrow && stream.cancel());\n" \
+ " if (isNative) @startDirectStream.@call(sink, stream, @undefined, () => !didThrow && @markPromiseAsHandled(stream.cancel()));\n" \
"\n" \
" if (highWaterMark) sink.start({ highWaterMark });\n" \
" \n" \
@@ -1135,7 +1136,8 @@ const char* const s_readableStreamInternalsReadStreamIntoSinkCode =
"\n" \
" try {\n" \
" reader = @undefined;\n" \
- " stream.cancel(e);\n" \
+ " const prom = stream.cancel(e);\n" \
+ " @markPromiseAsHandled(prom);\n" \
" } catch (j) {}\n" \
"\n" \
" if (sink && !didClose) {\n" \
diff --git a/src/bun.js/builtins/js/ReadableStreamInternals.js b/src/bun.js/builtins/js/ReadableStreamInternals.js
index 3a02669dc..a6604a014 100644
--- a/src/bun.js/builtins/js/ReadableStreamInternals.js
+++ b/src/bun.js/builtins/js/ReadableStreamInternals.js
@@ -793,7 +793,8 @@ function readDirectStream(stream, sink, underlyingSource) {
function close(stream, reason) {
if (reason && underlyingSource?.cancel) {
try {
- underlyingSource.cancel(reason);
+ var prom = underlyingSource.cancel(reason);
+ @markPromiseAsHandled(prom);
} catch (e) {
}
@@ -890,7 +891,7 @@ async function readStreamIntoSink(stream, sink, isNative) {
}
var wroteCount = many.value.length;
const highWaterMark = @getByIdDirectPrivate(stream, "highWaterMark");
- if (isNative) @startDirectStream.@call(sink, stream, @undefined, () => !didThrow && stream.cancel());
+ if (isNative) @startDirectStream.@call(sink, stream, @undefined, () => !didThrow && @markPromiseAsHandled(stream.cancel()));
if (highWaterMark) sink.start({ highWaterMark });
@@ -924,7 +925,8 @@ async function readStreamIntoSink(stream, sink, isNative) {
try {
reader = @undefined;
- stream.cancel(e);
+ const prom = stream.cancel(e);
+ @markPromiseAsHandled(prom);
} catch (j) {}
if (sink && !didClose) {