Skip to content

fix: cross-platform socket handling for Windows - #806

Closed
kajukitli wants to merge 1 commit into
littledivy:http2_libuvfrom
kajukitli:fix-windows-build
Closed

fix: cross-platform socket handling for Windows#806
kajukitli wants to merge 1 commit into
littledivy:http2_libuvfrom
kajukitli:fix-windows-build

Conversation

@kajukitli

Copy link
Copy Markdown
Collaborator

Fixes Windows build errors in PR denoland#32418 (denoland/deno).

Changes:

This should fix the Windows CI failures:

  • cannot find function fcntl in crate libc
  • cannot find type sockaddr_storage in crate libc
  • expected u32, found i32 for nghttp2 constants

Related PRs:

- Replace libc socket types with socket2::SockAddr for cross-platform compatibility
- Use #[cfg(unix)] for fcntl calls (non-blocking on Windows handled by libuv)
- Add Windows-specific ioctlsocket for non-blocking mode
- Update libnghttp2 dependency to use fixed enum constants
@littledivy littledivy closed this Mar 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants