#48811: refactor: remove allow_unsafe_buffers pragma from FD_ZERO
Description of Change
Remove allow_unsafe_buffers in node_binding_mac to address an outstanding TODO from #46482
Refactors NodeBindingsMac::PollEvents() to use poll() instead of select()/fd_set, removing reliance on FD_ZERO/FD_SET and eliminating the need for unsafe buffer allowances. Behavior (blocking until libuv backend fd is readable or timeout expires, with EINTR retry and infinite wait support) should remain the same.
Checklist
- PR description included and stakeholders cc'd
-
npm testpasses - PR release notes describe the change in a way relevant to app developers, and are capitalized, punctuated, and past tense.
Release Notes
Notes: none
Backports
No Backports Requested
This pull request doesn't have any backports requested or created for older release branches.
What are backports?
Backports are copies of changes made to the main branch that are applied to older release branches. They ensure that bug fixes and important changes are available in maintained older versions of Electron.
Semver Impact
Semantic Versioning helps users understand the impact of updates:
- Major (X.y.z): Breaking changes that may require code modifications
- Minor (x.Y.z): New features that maintain backward compatibility
- Patch (x.y.Z): Bug fixes that don't change the API
- None: Changes that don't affect using facing parts of Electron