René's URL Explorer Experiment


Title: stream: make stream.destroy with callback API public by ronag · Pull Request #32021 · nodejs/node · GitHub

Open Graph Title: stream: make stream.destroy with callback API public by ronag · Pull Request #32021 · nodejs/node

X Title: stream: make stream.destroy with callback API public by ronag · Pull Request #32021 · nodejs/node

Description: This makes the stream.destroy(err, callback) API public. Additionally it makes some changes: The callback is always (see TODO) invoked with the same behavior as eos The callback is no longer immediately invoked if destroy has already been invoked (but not actually completed). The error is assumed to be handled and uncaughException is suppressed. The callback timing is the same regardless whether destroy has already been called or not. (see TODO) The callback is always invoked asynchronously. The callback used to be invoked before emitting 'error' and/or 'close'. (see TODO) Also fixes a bug for fs streams where the callback to close(cb) could either be invoked synchronously or before the stream was actually closed. Likewise during errored destruction with implementations that use stream commons writeGeneric. This is made possible by #31509 This affects a non-public API which is used internally at the following locations: https://github.com/nodejs/node/blob/master/lib/internal/fs/streams.js#L275 https://github.com/nodejs/node/blob/master/lib/internal/stream_base_commons.js#L154 https://github.com/nodejs/node/blob/master/lib/internal/stream_base_commons.js#L93 Checklist make -j4 test (UNIX), or vcbuild test (Windows) passes tests and/or benchmarks are included documentation is changed or added commit message follows commit guidelines

Open Graph Description: This makes the stream.destroy(err, callback) API public. Additionally it makes some changes: The callback is always (see TODO) invoked with the same behavior as eos The callback is no longer immed...

X Description: This makes the stream.destroy(err, callback) API public. Additionally it makes some changes: The callback is always (see TODO) invoked with the same behavior as eos The callback is no longer immed...

Opengraph URL: https://github.com/nodejs/node/pull/32021

X: @github

direct link

Domain: github.com

react-profiling0
react-import-mapreact,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/commits/:range(.:format)
route-controllerpull_requests
route-actioncommits
fetch-noncev2:b9a6e71e-ed17-d176-adb1-8aee8a7bd00b
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idCC62:32D8FA:8F22D7:BF209D:6AEDCC0A
html-safe-nonce9a042d51f9294c4c15e6da9cbf3abf1a5da8a2789410a97329c2099b07bf5483
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDQzYyOjMyRDhGQTo4RjIyRDc6QkYyMDlEOjZBRURDQzBBIiwidmlzaXRvcl9pZCI6IjY4NjA0ODEwMDYwNjY4NDY3MzAiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==
visitor-hmac8778ee787bf85aefe7d87fc1c9dca210b439b9af6c69c97ce1f6e7acaf96436c
hovercard-subject-tagpull_request:381824002
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/commits
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/nodejs/node/pull/32021/commits/c0203240817edf2a201b3aaf1c88ae87901b3805
twitter:imagehttps://avatars.githubusercontent.com/u/3065230?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/3065230?s=400&v=4
og:image:altThis makes the stream.destroy(err, callback) API public. Additionally it makes some changes: The callback is always (see TODO) invoked with the same behavior as eos The callback is no longer immed...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
Nonef60373873bb1ef795e8511ea1f2a76997e9c649d72b02942aedf2def3423a0ce
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/nodejs/node git https://github.com/nodejs/node.git
octolytics-dimension-user_id9950313
octolytics-dimension-user_loginnodejs
octolytics-dimension-repository_id27193779
octolytics-dimension-repository_nwonodejs/node
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id27193779
octolytics-dimension-repository_network_root_nwonodejs/node
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release0f55cfa61438c7dc93d1024a1e5e5182b36830e2
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/nodejs/node/pull/32021/commits/c0203240817edf2a201b3aaf1c88ae87901b3805#start-of-content
https://github.com/
Sign inhttps://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fnodejs%2Fnode%2Fpull%2F32021%2Fcommits%2Fc0203240817edf2a201b3aaf1c88ae87901b3805
GitHubRepository hosting, code review, and collaborationhttps://github.com/platform
CopilotAI coding agent for tasks, projects, and automated workhttps://github.com/features/copilot
ActionsCI/CD and automationhttps://github.com/features/actions
Code QualityQuality analysis, fixes, and enforcementhttps://github.com/features/code-quality
CodespacesCloud development environmentshttps://github.com/features/codespaces
Code SecurityVulnerability detection and remediationhttps://github.com/security/advanced-security/code-security
Secret ProtectionSecret scanning and leak preventionhttps://github.com/security/advanced-security/secret-protection
All Featureshttps://github.com/features
Documentationhttps://docs.github.com/en
Traininghttps://learn.github.com/skills
Certificationshttps://learn.github.com/credentials
Build with Copilothttps://github.com/features/ai
Customize Copilothttps://docs.github.com/en/copilot/how-tos/copilot-on-github/customize-copilot/customize-copilot-overview
Integrationshttps://github.com/marketplace
Trending reposhttps://github.com/trending
GitHub Sponsorshttps://github.com/open-source/sponsors
Developer articleshttps://github.com/resources/articles
ChangelogYour source for the latest features, improvements, and fixes across GitHub products, all in one place.https://github.blog/changelog/
Enterpriseshttps://github.com/enterprise
Teamhttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
See all industrieshttps://github.com/solutions/industry
Why GitHubhttps://github.com/why-github
Customer Storieshttps://github.com/customer-stories
Business insightshttps://github.com/solutions/executive-insights
Trust Centerhttps://github.com/trust-center
GitHub Advanced SecurityEnterprise-grade code securityhttps://github.com/security/advanced-security
Copilot for businessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Documentationhttps://docs.github.com/en
Resource centerhttps://github.com/resources
Bloghttps://github.blog/
Events & webinarshttps://github.com/resources/events
Community Forumhttps://github.com/orgs/community/discussions
Customer Storieshttps://github.com/customer-stories
Integrationshttps://github.com/marketplace
Customer supporthttps://help.github.com/
Traininghttps://learn.github.com/skills
GitHub Statushttps://www.githubstatus.com/
Abouthttps://github.com/about
Partnershttps://github.com/partners
Changeloghttps://github.blog/changelog/
GitHub UniverseThe event for developers, by developers — talks, workshops, and what’s next for GitHub.https://githubuniverse.com/
Pricinghttps://github.com/pricing
Sign inhttps://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fnodejs%2Fnode%2Fpull%2F32021%2Fcommits%2Fc0203240817edf2a201b3aaf1c88ae87901b3805
Sign uphttps://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%2Fcommits&source=header-repo&source_repo=nodejs%2Fnode
Reloadhttps://github.com/nodejs/node/pull/32021/commits/c0203240817edf2a201b3aaf1c88ae87901b3805
Reloadhttps://github.com/nodejs/node/pull/32021/commits/c0203240817edf2a201b3aaf1c88ae87901b3805
Reloadhttps://github.com/nodejs/node/pull/32021/commits/c0203240817edf2a201b3aaf1c88ae87901b3805
nodejshttps://github.com/nodejs
nodehttps://github.com/nodejs/node
Codehttps://github.com/nodejs/node
Issues655 (655)https://github.com/nodejs/node/issues
Pull requests664 (664)https://github.com/nodejs/node/pulls
Actionshttps://github.com/nodejs/node/actions
Projectshttps://github.com/nodejs/node/projects
Security and qualityhttps://github.com/nodejs/node/security
Insightshttps://github.com/nodejs/node/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Fnodejs%2Fnode%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fnodejs%2Fnode%2Fissues%2Fnew%2Fchoose
ronaghttps://github.com/ronag
nodejs:masterhttps://github.com/nodejs/node/tree/master
nxtedition:stream-cb-destroyhttps://github.com/nxtedition/node/tree/stream-cb-destroy
Conversation 5 https://github.com/nodejs/node/pull/32021
Commits 7 https://github.com/nodejs/node/pull/32021/commits
Checks 0 https://github.com/nodejs/node/pull/32021/checks
Files changed https://github.com/nodejs/node/pull/32021/files
Please reload this pagehttps://github.com/nodejs/node/pull/32021/commits/c0203240817edf2a201b3aaf1c88ae87901b3805
stream: make stream.destroy with callback API public https://github.com/nodejs/node/pull/32021/commits/c0203240817edf2a201b3aaf1c88ae87901b3805#top
Show all changes 7 commits https://github.com/nodejs/node/pull/32021/files
4d51ce2 stream: make stream.destroy with callback API public ronag Feb 29, 2020 https://github.com/nodejs/node/pull/32021/commits/4d51ce200dc852149646705790e61d9d9e177711
54f62fc fixup: docs ronag Feb 29, 2020 https://github.com/nodejs/node/pull/32021/commits/54f62fcff0d3b7c65beb560f68aaaf62f5142a7c
c020324 fixup: docs ronag Feb 29, 2020 https://github.com/nodejs/node/pull/32021/commits/c0203240817edf2a201b3aaf1c88ae87901b3805
80cf7f6 fixup: tls test + writable write complete err ronag Feb 29, 2020 https://github.com/nodejs/node/pull/32021/commits/80cf7f68d517a4bd4d54ba6a27c376a37892acd6
43472c4 fixup: test ronag Feb 29, 2020 https://github.com/nodejs/node/pull/32021/commits/43472c4b04a8950780c3683cf6c04333fa4df976
b40a103 fixup: reduce changes ronag Feb 29, 2020 https://github.com/nodejs/node/pull/32021/commits/b40a103eab79f98a240ff615dc3066cae9fbe849
81de706 fixup: always register eos ronag Feb 29, 2020 https://github.com/nodejs/node/pull/32021/commits/81de706be6d4a9c0aa1d8804668e4107417b0aee
Clear filters https://github.com/nodejs/node/pull/32021/commits/c0203240817edf2a201b3aaf1c88ae87901b3805
Please reload this pagehttps://github.com/nodejs/node/pull/32021/commits/c0203240817edf2a201b3aaf1c88ae87901b3805
Please reload this pagehttps://github.com/nodejs/node/pull/32021/commits/c0203240817edf2a201b3aaf1c88ae87901b3805
Prev https://github.com/nodejs/node/pull/32021/commits/54f62fcff0d3b7c65beb560f68aaaf62f5142a7c
Next https://github.com/nodejs/node/pull/32021/commits/80cf7f68d517a4bd4d54ba6a27c376a37892acd6
Please reload this pagehttps://github.com/nodejs/node/pull/32021/commits/c0203240817edf2a201b3aaf1c88ae87901b3805
https://github.com/ronag
ronaghttps://github.com/nodejs/node/commits?author=ronag
doc/api/stream.mdhttps://github.com/nodejs/node/pull/32021/commits/c0203240817edf2a201b3aaf1c88ae87901b3805#diff-00d8d040a3fe90e3052af39cb55dc9bcac70539d5d17791449cbfe7e3b55fb90
View file https://github.com/nxtedition/node/blob/c0203240817edf2a201b3aaf1c88ae87901b3805/doc/api/stream.md
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/nodejs/node/pull/32021/commits/{{ revealButtonHref }}
https://github.com/nodejs/node/pull/32021/commits/c0203240817edf2a201b3aaf1c88ae87901b3805#diff-00d8d040a3fe90e3052af39cb55dc9bcac70539d5d17791449cbfe7e3b55fb90
https://github.com/nodejs/node/pull/32021/commits/c0203240817edf2a201b3aaf1c88ae87901b3805#diff-00d8d040a3fe90e3052af39cb55dc9bcac70539d5d17791449cbfe7e3b55fb90
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.