| react-profiling | 0 |
| react-import-map | react,react-dom,react-dom/client,react-dom/profiling,react-is,react-reconciler,react/compiler-runtime,react/jsx-dev-runtime,react/jsx-runtime,scheduler@d5750093facf |
| route-pattern | /:user_id/:repository/pull/:id/files(.:format) |
| route-controller | pull_requests |
| route-action | files |
| fetch-nonce | v2:11c8a6e7-9d1f-b72a-24f8-394352befd54 |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | E6B0:34BF50:971A82:CA71AD:6AED2FAA |
| html-safe-nonce | 5580c584d74aa3556f89d2403abbf00bdfbb0b42f28b322a80a2c88970b9b291 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFNkIwOjM0QkY1MDo5NzFBODI6Q0E3MUFEOjZBRUQyRkFBIiwidmlzaXRvcl9pZCI6IjY3MzA4NTk4MjUwODE0Mjk5MzAiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 716ea77ff721e8e36bee596411eaf08075a89b60a129a910d3f9965bd5175d91 |
| hovercard-subject-tag | pull_request:4393960051 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | ///pull_requests/show/files |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/nodejs/node/pull/65652/files |
| twitter:image | https://avatars.githubusercontent.com/u/439929?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/439929?s=400&v=4 |
| og:image:alt | Nine commits, nine issues:
pull() cancellation cannot preempt a pending next()
transformed push, broadcast, and share consumers leak their underlying side
terminating a push consumer can make writ... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | e51d0b7b5ab34b1688c05b54c3ed17b8658b2fa9bca973a9c740683ccb12cf4a |
| turbo-cache-control | no-preview |
| diff-view | unified |
| go-import | github.com/nodejs/node git https://github.com/nodejs/node.git |
| octolytics-dimension-user_id | 9950313 |
| octolytics-dimension-user_login | nodejs |
| octolytics-dimension-repository_id | 27193779 |
| octolytics-dimension-repository_nwo | nodejs/node |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 27193779 |
| octolytics-dimension-repository_network_root_nwo | nodejs/node |
| turbo-body-classes | logged-out env-production page-responsive full-width |
| disable-turbo | true |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 59ebb7b901cc154ecc179a44f266fcf69f343b30 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
| Skip to content | https://github.com/nodejs/node/pull/65652/files#start-of-content |
| https://github.com/ |
| Sign in | https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fnodejs%2Fnode%2Fpull%2F65652%2Ffiles |
| GitHubRepository hosting, code review, and collaboration | https://github.com/platform |
| CopilotAI coding agent for tasks, projects, and automated work | https://github.com/features/copilot |
| ActionsCI/CD and automation | https://github.com/features/actions |
| Code QualityQuality analysis, fixes, and enforcement | https://github.com/features/code-quality |
| CodespacesCloud development environments | https://github.com/features/codespaces |
| Code SecurityVulnerability detection and remediation | https://github.com/security/advanced-security/code-security |
| Secret ProtectionSecret scanning and leak prevention | https://github.com/security/advanced-security/secret-protection |
| All Features | https://github.com/features |
| Documentation | https://docs.github.com/en |
| Training | https://learn.github.com/skills |
| Certifications | https://learn.github.com/credentials |
| Build with Copilot | https://github.com/features/ai |
| Customize Copilot | https://docs.github.com/en/copilot/how-tos/copilot-on-github/customize-copilot/customize-copilot-overview |
| Integrations | https://github.com/marketplace |
| Trending repos | https://github.com/trending |
| GitHub Sponsors | https://github.com/open-source/sponsors |
| Developer articles | https://github.com/resources/articles |
| ChangelogYour source for the latest features, improvements, and fixes across GitHub products, all in one place. | https://github.blog/changelog/ |
| Enterprises | https://github.com/enterprise |
| Team | https://github.com/team |
| Startups | https://github.com/enterprise/startups |
| Nonprofits | https://github.com/solutions/industry/nonprofits |
| Healthcare | https://github.com/solutions/industry/healthcare |
| Financial services | https://github.com/solutions/industry/financial-services |
| Manufacturing | https://github.com/solutions/industry/manufacturing |
| Government | https://github.com/solutions/industry/government |
| See all industries | https://github.com/solutions/industry |
| Why GitHub | https://github.com/why-github |
| Customer Stories | https://github.com/customer-stories |
| Business insights | https://github.com/solutions/executive-insights |
| Trust Center | https://github.com/trust-center |
| GitHub Advanced SecurityEnterprise-grade code security | https://github.com/security/advanced-security |
| Copilot for businessEnterprise-grade AI features | https://github.com/features/copilot/copilot-business |
| Premium SupportEnterprise-grade 24/7 support | https://github.com/enterprise/premium-support |
| Documentation | https://docs.github.com/en |
| Resource center | https://github.com/resources |
| Blog | https://github.blog/ |
| Events & webinars | https://github.com/resources/events |
| Community Forum | https://github.com/orgs/community/discussions |
| Customer Stories | https://github.com/customer-stories |
| Integrations | https://github.com/marketplace |
| Customer support | https://help.github.com/ |
| Training | https://learn.github.com/skills |
| GitHub Status | https://www.githubstatus.com/ |
| About | https://github.com/about |
| Partners | https://github.com/partners |
| Changelog | https://github.blog/changelog/ |
| GitHub UniverseThe event for developers, by developers — talks, workshops, and what’s next for GitHub. | https://githubuniverse.com/ |
| Pricing | https://github.com/pricing |
| Sign in | https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fnodejs%2Fnode%2Fpull%2F65652%2Ffiles |
| Sign up | https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=nodejs%2Fnode |
| Reload | https://github.com/nodejs/node/pull/65652/files |
| Reload | https://github.com/nodejs/node/pull/65652/files |
| Reload | https://github.com/nodejs/node/pull/65652/files |
| nodejs | https://github.com/nodejs |
| node | https://github.com/nodejs/node |
| Code | https://github.com/nodejs/node |
| Issues656 (656) | https://github.com/nodejs/node/issues |
| Pull requests666 (666) | https://github.com/nodejs/node/pulls |
| Actions | https://github.com/nodejs/node/actions |
| Projects | https://github.com/nodejs/node/projects |
| Security and quality | https://github.com/nodejs/node/security |
| Insights | https://github.com/nodejs/node/pulse |
| Sign up for GitHub
| https://github.com/signup?return_to=%2Fnodejs%2Fnode%2Fissues%2Fnew%2Fchoose |
| terms of service | https://docs.github.com/terms |
| privacy statement | https://docs.github.com/privacy |
| Sign in | https://github.com/login?return_to=%2Fnodejs%2Fnode%2Fissues%2Fnew%2Fchoose |
| jasnell | https://github.com/jasnell |
| nodejs:main | https://github.com/nodejs/node/tree/main |
| jasnell:jasnell/stream-iter-fixes | https://github.com/jasnell/node/tree/jasnell/stream-iter-fixes |
|
Conversation
25
| https://github.com/nodejs/node/pull/65652 |
|
Commits
11
| https://github.com/nodejs/node/pull/65652/commits |
|
Checks
35
| https://github.com/nodejs/node/pull/65652/checks |
|
Files changed
| https://github.com/nodejs/node/pull/65652/files |
| Please reload this page | https://github.com/nodejs/node/pull/65652/files |
|
stream: apply multiple stream/iter fixes
| https://github.com/nodejs/node/pull/65652/files#top |
|
Show all changes
11 commits
| https://github.com/nodejs/node/pull/65652/files |
|
f3198c8
stream: fixup cancelation handling in pull()
jasnell Aug 29, 2026
| https://github.com/nodejs/node/pull/65652/commits/f3198c8591cfceb1bb980388e9b27789d9a37217 |
|
a6b3429
stream: ensure iterator cleanup on done, reject, etc
jasnell Aug 29, 2026
| https://github.com/nodejs/node/pull/65652/commits/a6b3429e9ca2cc295469a724612d3530db873feb |
|
15768a0
stream: fixup writer to terminate on consumer return/throw
jasnell Aug 29, 2026
| https://github.com/nodejs/node/pull/65652/commits/15768a0cabecd4e8c3b30dec081274ecf239d2bd |
|
939c708
stream: ensure stability of stored metadata
jasnell Aug 30, 2026
| https://github.com/nodejs/node/pull/65652/commits/939c708c6349be7ac7b929a242fb7474e313e643 |
|
fc18b83
stream: defend against re-entrancy in writev
jasnell Aug 30, 2026
| https://github.com/nodejs/node/pull/65652/commits/fc18b83a387a8cd695fa12895df8f422b62736be |
|
1c7fc6d
stream: ensure full-close semantics when closed
jasnell Aug 30, 2026
| https://github.com/nodejs/node/pull/65652/commits/1c7fc6d71224a4eb1ec41fe04f41acd4c4a610fa |
|
46c3160
stream: fix merge settlement tagging and falsy error tracking
jasnell Aug 30, 2026
| https://github.com/nodejs/node/pull/65652/commits/46c3160d5c5840e9ed7cbb89810df49d66f40c49 |
|
6dae2a1
stream: cancel active stream/iter pulls
jasnell Aug 30, 2026
| https://github.com/nodejs/node/pull/65652/commits/6dae2a1396de2835b6bb615fd9511f693222b9fd |
|
15368e2
stream: ensure pipeToSync requires synchronous close
jasnell Aug 30, 2026
| https://github.com/nodejs/node/pull/65652/commits/15368e2d9aedf60605089743f2ba7e902c51400d |
|
1db964b
stream: replace object sentinel with symbol
jasnell Aug 30, 2026
| https://github.com/nodejs/node/pull/65652/commits/1db964b0f93505cb5f761b52fb7269f94d87f6c6 |
|
acf4fe4
stream: address stream/iter review feedback
jasnell Aug 30, 2026
| https://github.com/nodejs/node/pull/65652/commits/acf4fe4677ef394c8594cdea08e2a46edfb257a9 |
|
Clear filters
| https://github.com/nodejs/node/pull/65652/files |
| Please reload this page | https://github.com/nodejs/node/pull/65652/files |
| Please reload this page | https://github.com/nodejs/node/pull/65652/files |
|
broadcast.js
| https://github.com/nodejs/node/pull/65652/files#diff-3c3b3eb3fc844b33761f7d97032a6b2c580497aa5f6069f0e8a659e99c889e1c |
|
consumers.js
| https://github.com/nodejs/node/pull/65652/files#diff-92085d6405796cc8751e9e8ff1700d4e609e4f15f7aeb4c3a9f91684f974bd1c |
|
duplex.js
| https://github.com/nodejs/node/pull/65652/files#diff-eff2fc767d284580c170b6c6714f7b18fb3cd1a029902efee1660124492b5279 |
|
pull.js
| https://github.com/nodejs/node/pull/65652/files#diff-f124e8696161bf90c965ba68b5e10f592ecca907ff4ec6e611a6b762db30d710 |
|
push.js
| https://github.com/nodejs/node/pull/65652/files#diff-df19d90f1ff5d68c5be20e0510aa6322f174a51bececf2d0c57c12cf59e10cb4 |
|
share.js
| https://github.com/nodejs/node/pull/65652/files#diff-cbbd247e6f3d7186a7d7d21fa07bac75435e6eceb14eac213e815e45f0669731 |
|
utils.js
| https://github.com/nodejs/node/pull/65652/files#diff-696e84a9f8c71a0c64891d3530cc37b218b446ac92bded67c1ccf266aad7d846 |
|
test-stream-iter-consumers-merge.js
| https://github.com/nodejs/node/pull/65652/files#diff-5d57e750ae7eb12a45a3515c8fe815310fa4838b56a0ba769e82bf87e3308800 |
|
test-stream-iter-duplex.js
| https://github.com/nodejs/node/pull/65652/files#diff-ed014a016c237d8891dab0ceb28248795c6c5918f37a727550ca22efeee8fc6e |
|
test-stream-iter-pipeto-edge.js
| https://github.com/nodejs/node/pull/65652/files#diff-e8a7fe52d5e72ae524cca4a1766c703de9167440967dbf4da568fa706e2fa9ec |
|
test-stream-iter-pipeto.js
| https://github.com/nodejs/node/pull/65652/files#diff-f8c83e13012bf1d736ac77416311d1eb837c2e3eb5e9960a771527933e3202de |
|
test-stream-iter-pull-async.js
| https://github.com/nodejs/node/pull/65652/files#diff-354f4fe8056271679573b09aa9ce998d6698e511dba5e125e257d6f995d99a05 |
|
test-stream-iter-push-writer.js
| https://github.com/nodejs/node/pull/65652/files#diff-dbf58f410d7fddd13b8b4164a080a791be5e32096b71f6a707ff1937042ff3c5 |
|
test-stream-iter-resizable-buffers.js
| https://github.com/nodejs/node/pull/65652/files#diff-917df39511df5130e2ccfa1b7309e5f3179b7436416fe4825c1872a5484ad712 |
|
test-stream-iter-share-async.js
| https://github.com/nodejs/node/pull/65652/files#diff-3ee1b7bf6ead385cc930b43b2e07ed891f657e9658743171a6504691f1b76c24 |
|
test-stream-iter-validation.js
| https://github.com/nodejs/node/pull/65652/files#diff-23f05eb6cd2e803998a0fa9b0a0f9353d9540a62f9897f5b2e3e62e7fbcc9d3b |
|
test-stream-iter-writer-reentrancy.js
| https://github.com/nodejs/node/pull/65652/files#diff-6923c9cb89042d72940052ee36b10831f8788df37f4618a18ae5c3513cce9b06 |
| lib/internal/streams/iter/broadcast.js | https://github.com/nodejs/node/pull/65652/files#diff-3c3b3eb3fc844b33761f7d97032a6b2c580497aa5f6069f0e8a659e99c889e1c |
|
View file
| https://github.com/jasnell/node/blob/acf4fe4677ef394c8594cdea08e2a46edfb257a9/lib/internal/streams/iter/broadcast.js |
|
Open in desktop
| https://desktop.github.com |
| https://github.co/hiddenchars |
| https://github.com/nodejs/node/pull/65652/{{ revealButtonHref }} |
|
| https://github.com/nodejs/node/pull/65652/files#diff-3c3b3eb3fc844b33761f7d97032a6b2c580497aa5f6069f0e8a659e99c889e1c |
|
| https://github.com/nodejs/node/pull/65652/files#diff-3c3b3eb3fc844b33761f7d97032a6b2c580497aa5f6069f0e8a659e99c889e1c |
|
| https://github.com/nodejs/node/pull/65652/files#diff-3c3b3eb3fc844b33761f7d97032a6b2c580497aa5f6069f0e8a659e99c889e1c |
|
| https://github.com/nodejs/node/pull/65652/files#diff-3c3b3eb3fc844b33761f7d97032a6b2c580497aa5f6069f0e8a659e99c889e1c |
|
| https://github.com/nodejs/node/pull/65652/files#diff-3c3b3eb3fc844b33761f7d97032a6b2c580497aa5f6069f0e8a659e99c889e1c |
|
| https://github.com/nodejs/node/pull/65652/files#diff-3c3b3eb3fc844b33761f7d97032a6b2c580497aa5f6069f0e8a659e99c889e1c |
|
| https://github.com/nodejs/node/pull/65652/files#diff-3c3b3eb3fc844b33761f7d97032a6b2c580497aa5f6069f0e8a659e99c889e1c |
|
| https://github.com/nodejs/node/pull/65652/files#diff-3c3b3eb3fc844b33761f7d97032a6b2c580497aa5f6069f0e8a659e99c889e1c |
|
| https://github.com/nodejs/node/pull/65652/files#diff-3c3b3eb3fc844b33761f7d97032a6b2c580497aa5f6069f0e8a659e99c889e1c |
|
| https://github.com/nodejs/node/pull/65652/files#diff-3c3b3eb3fc844b33761f7d97032a6b2c580497aa5f6069f0e8a659e99c889e1c |
|
| https://github.com/nodejs/node/pull/65652/files#diff-3c3b3eb3fc844b33761f7d97032a6b2c580497aa5f6069f0e8a659e99c889e1c |
|
| https://github.com/nodejs/node/pull/65652/files#diff-3c3b3eb3fc844b33761f7d97032a6b2c580497aa5f6069f0e8a659e99c889e1c |
|
| https://github.com/nodejs/node/pull/65652/files#diff-3c3b3eb3fc844b33761f7d97032a6b2c580497aa5f6069f0e8a659e99c889e1c |
|
| https://github.com/nodejs/node/pull/65652/files#diff-3c3b3eb3fc844b33761f7d97032a6b2c580497aa5f6069f0e8a659e99c889e1c |
|
| https://github.com/nodejs/node/pull/65652/files#diff-3c3b3eb3fc844b33761f7d97032a6b2c580497aa5f6069f0e8a659e99c889e1c |
|
| https://github.com/nodejs/node/pull/65652/files#diff-3c3b3eb3fc844b33761f7d97032a6b2c580497aa5f6069f0e8a659e99c889e1c |
|
| https://github.com/nodejs/node/pull/65652/files#diff-3c3b3eb3fc844b33761f7d97032a6b2c580497aa5f6069f0e8a659e99c889e1c |
|
| https://github.com/nodejs/node/pull/65652/files#diff-3c3b3eb3fc844b33761f7d97032a6b2c580497aa5f6069f0e8a659e99c889e1c |
|
| https://github.com/nodejs/node/pull/65652/files#diff-3c3b3eb3fc844b33761f7d97032a6b2c580497aa5f6069f0e8a659e99c889e1c |
|
| https://github.com/nodejs/node/pull/65652/files#diff-3c3b3eb3fc844b33761f7d97032a6b2c580497aa5f6069f0e8a659e99c889e1c |
|
| https://github.com/nodejs/node/pull/65652/files#diff-3c3b3eb3fc844b33761f7d97032a6b2c580497aa5f6069f0e8a659e99c889e1c |
|
| https://github.com/nodejs/node/pull/65652/files#diff-3c3b3eb3fc844b33761f7d97032a6b2c580497aa5f6069f0e8a659e99c889e1c |
|
| https://github.com/nodejs/node/pull/65652/files#diff-3c3b3eb3fc844b33761f7d97032a6b2c580497aa5f6069f0e8a659e99c889e1c |
|
| https://github.com/nodejs/node/pull/65652/files#diff-3c3b3eb3fc844b33761f7d97032a6b2c580497aa5f6069f0e8a659e99c889e1c |
|
| https://github.com/nodejs/node/pull/65652/files#diff-3c3b3eb3fc844b33761f7d97032a6b2c580497aa5f6069f0e8a659e99c889e1c |
|
| https://github.com/nodejs/node/pull/65652/files#diff-3c3b3eb3fc844b33761f7d97032a6b2c580497aa5f6069f0e8a659e99c889e1c |
|
| https://github.com/nodejs/node/pull/65652/files#diff-3c3b3eb3fc844b33761f7d97032a6b2c580497aa5f6069f0e8a659e99c889e1c |
|
| https://github.com/nodejs/node/pull/65652/files#diff-3c3b3eb3fc844b33761f7d97032a6b2c580497aa5f6069f0e8a659e99c889e1c |
|
| https://github.com/nodejs/node/pull/65652/files#diff-3c3b3eb3fc844b33761f7d97032a6b2c580497aa5f6069f0e8a659e99c889e1c |
| Please reload this page | https://github.com/nodejs/node/pull/65652/files |
| Please reload this page | https://github.com/nodejs/node/pull/65652/files |
|
| https://github.com |
| Terms | https://docs.github.com/site-policy/github-terms/github-terms-of-service |
| Privacy | https://docs.github.com/site-policy/privacy-policies/github-privacy-statement |
| Security | https://github.com/security |
| Status | https://www.githubstatus.com/ |
| Community | https://github.community/ |
| Docs | https://docs.github.com/ |
| Contact | https://support.github.com?tags=dotcom-footer |