Skip to content

dgram: add synchronous Socket.prototype.bindSync()#63838

Merged
nodejs-github-bot merged 1 commit into
nodejs:mainfrom
guybedford:dgram-bind-sync
Jun 15, 2026
Merged

dgram: add synchronous Socket.prototype.bindSync()#63838
nodejs-github-bot merged 1 commit into
nodejs:mainfrom
guybedford:dgram-bind-sync

Conversation

@guybedford

Copy link
Copy Markdown
Contributor

WebAssembly embeddings of libc UDP support relies on a synchronous bind(2). While socket.bind that exposes this is asynchronous in Node.js, it is also completely fine to support a synchronous bind since it is a non-blocking operation in the OS when DNS resolution is excluded.

This adds a very simple socket.bindSync to the dgram API, allowing a direct mode for posix compatibility layers on Node.js without requiring JSPI.

@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/net

@nodejs-github-bot nodejs-github-bot added dgram Issues and PRs related to the dgram subsystem / UDP. needs-ci PRs that need a full CI run. labels Jun 10, 2026
Provides sync non-blocking bind(2), without DNS lookup

Signed-off-by: Guy Bedford <guybedford@gmail.com>

@mcollina mcollina left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@mcollina mcollina added the request-ci Add this label to start a Jenkins CI on a PR. label Jun 13, 2026
@github-actions github-actions Bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Jun 13, 2026
@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

@guybedford guybedford added commit-queue Add this label to land a pull request using GitHub Actions. commit-queue-squash Add this label to instruct the Commit Queue to squash all the PR commits into the first one. and removed needs-ci PRs that need a full CI run. labels Jun 15, 2026
@guybedford guybedford added the author ready PRs that have at least one approval, no pending requests for changes, and a CI started. label Jun 15, 2026
@nodejs-github-bot nodejs-github-bot removed the commit-queue Add this label to land a pull request using GitHub Actions. label Jun 15, 2026
@nodejs-github-bot nodejs-github-bot merged commit 723dd38 into nodejs:main Jun 15, 2026
77 checks passed
@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

Landed in 723dd38

@guybedford guybedford deleted the dgram-bind-sync branch June 15, 2026 22:06
aduh95 pushed a commit that referenced this pull request Jun 18, 2026
Provides sync non-blocking bind(2), without DNS lookup

Signed-off-by: Guy Bedford <guybedford@gmail.com>
PR-URL: #63838
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

author ready PRs that have at least one approval, no pending requests for changes, and a CI started. commit-queue-squash Add this label to instruct the Commit Queue to squash all the PR commits into the first one. dgram Issues and PRs related to the dgram subsystem / UDP.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants