Skip to content

net: support TCP handle transfer on Windows - #64460

Closed
mcollina wants to merge 1 commit into
nodejs:mainfrom
mcollina:tcp-transfer-windows
Closed

net: support TCP handle transfer on Windows#64460
mcollina wants to merge 1 commit into
nodejs:mainfrom
mcollina:tcp-transfer-windows

Conversation

@mcollina

Copy link
Copy Markdown
Member

Adds Windows support for transferring TCP handles across worker threads.

Fixes: #64456

Signed-off-by: Matteo Collina <hello@matteocollina.com>
@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/net

@nodejs-github-botnodejs-github-bot added c++ Issues and PRs that require attention from people who are familiar with C++. lib / src Issues and PRs related to general changes in the lib or src directory. needs-ci PRs that need a full CI run. labels Jul 12, 2026
@codecov

codecovBot commented Jul 12, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 60.00000% with 4 lines in your changes missing coverage. Please review.
✅ Project coverage is 90.24%. Comparing base (dca0fd1) to head (060c604).
⚠️ Report is 122 commits behind head on main.

Files with missing linesPatch %Lines
src/tcp_wrap.cc50.00%1 Missing and 3 partials ⚠️
Additional details and impacted files
@@ Coverage Diff @@## main #64460 +/- ##
==========================================
- Coverage 90.24% 90.24% -0.01% 
==========================================
Files 741 741 Lines 241603 241596 -7 Branches 45523 45530 +7 ==========================================
- Hits 218038 218022 -16 + Misses 15109 15100 -9 - Partials 8456 8474 +18 
Files with missing linesCoverage Δ
lib/internal/errors.js97.71% <ø> (-0.01%)⬇️
lib/net.js94.54% <ø> (+0.19%)⬆️
src/tcp_wrap.h57.14% <100.00%> (+3.29%)⬆️
src/tcp_wrap.cc68.85% <50.00%> (ø)

... and 31 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@mcollinamcollina added the request-ci Add this label to start a Jenkins CI on a PR. label Jul 13, 2026
@github-actionsgithub-actionsBot removed the request-ci Add this label to start a Jenkins CI on a PR. label Jul 13, 2026
@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

@mcollinamcollina added the commit-queue Add this label to land a pull request using GitHub Actions. label Jul 14, 2026
@mcollina

Copy link
Copy Markdown
MemberAuthor

DO you know why the test-internt job is failing?

@nodejs-github-botnodejs-github-bot added commit-queue-failed An error occurred while landing this pull request using GitHub Actions. and removed commit-queue Add this label to land a pull request using GitHub Actions. labels Jul 14, 2026
@nodejs-github-bot

Copy link
Copy Markdown
Collaborator
Commit Queue failed
- Loading data for nodejs/node/pull/64460
✔ Done loading data for nodejs/node/pull/64460
----------------------------------- PR info ------------------------------------
Title net: support TCP handle transfer on Windows (#64460)
Author Matteo Collina <matteo.collina@gmail.com> (@mcollina)
Branch mcollina:tcp-transfer-windows -> nodejs:main
Labels c++, lib / src, needs-ci
Commits 1
- net: support TCP handle transfer on Windows
Committers 1
- Matteo Collina <hello@matteocollina.com>
PR-URL: https://github.com/nodejs/node/pull/64460
Fixes: https://github.com/nodejs/node/issues/64456
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Stefan Stojanovic <stefan.stojanovic@janeasystems.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
------------------------------ Generated metadata ------------------------------
PR-URL: https://github.com/nodejs/node/pull/64460
Fixes: https://github.com/nodejs/node/issues/64456
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Stefan Stojanovic <stefan.stojanovic@janeasystems.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
--------------------------------------------------------------------------------
ℹ This PR was created on Sun, 12 Jul 2026 19:21:24 GMT
✔ Approvals: 3
✔ - James M Snell (@jasnell) (TSC): https://github.com/nodejs/node/pull/64460#pullrequestreview-4680793259
✔ - Stefan Stojanovic (@StefanStojanovic): https://github.com/nodejs/node/pull/64460#pullrequestreview-4682937899
✔ - Marco Ippolito (@marco-ippolito) (TSC): https://github.com/nodejs/node/pull/64460#pullrequestreview-4695725787
✘ 1 GitHub CI job(s) failed:
✘ - test-internet: FAILURE (https://github.com/nodejs/node/actions/runs/29205638124/job/87130276315)
ℹ Last Full PR CI on 2026-07-13T18:49:42Z: https://ci.nodejs.org/job/node-test-pull-request/74791/
- Querying data for job/node-test-pull-request/74791/
✔ Build data downloaded
✔ Last Jenkins CI successful
--------------------------------------------------------------------------------
✔ Aborted `git node land` session in /home/runner/work/node/node/.ncu
https://github.com/nodejs/node/actions/runs/29363329109

@guybedfordguybedford added request-ci Add this label to start a Jenkins CI on a PR. and removed request-ci Add this label to start a Jenkins CI on a PR. labels Jul 24, 2026
guybedford pushed a commit that referenced this pull request Jul 25, 2026
Signed-off-by: Matteo Collina <hello@matteocollina.com>
PR-URL: #64460Fixes: #64456
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Stefan Stojanovic <stefan.stojanovic@janeasystems.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
@guybedford

guybedford commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

I went ahead and landed this in fdcb1de, given the known CI issue was resolved today and that a rerun would require a full cycle here.

aduh95 pushed a commit that referenced this pull request Aug 3, 2026
Signed-off-by: Matteo Collina <hello@matteocollina.com>
PR-URL: #64460Fixes: #64456
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Stefan Stojanovic <stefan.stojanovic@janeasystems.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
aduh95 pushed a commit that referenced this pull request Aug 4, 2026
Signed-off-by: Matteo Collina <hello@matteocollina.com>
PR-URL: #64460Fixes: #64456
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Stefan Stojanovic <stefan.stojanovic@janeasystems.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
aduh95 pushed a commit that referenced this pull request Aug 6, 2026
Signed-off-by: Matteo Collina <hello@matteocollina.com>
PR-URL: #64460Fixes: #64456
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Stefan Stojanovic <stefan.stojanovic@janeasystems.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

c++Issues and PRs that require attention from people who are familiar with C++.commit-queue-failedAn error occurred while landing this pull request using GitHub Actions.lib / srcIssues and PRs related to general changes in the lib or src directory.needs-ciPRs that need a full CI run.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

net: add Windows support for TCP handle transfer across worker threads

6 participants

@mcollina@nodejs-github-bot@guybedford@jasnell@StefanStojanovic@marco-ippolito