Repository navigation
Conversation
`from_raw_fd` cast the descriptor to `u64` before `TcpStream::from_raw_socket`, but `RawSocket` is `u32` on
32-bit Windows (`u64` only where the pointer is 64 bits), so `pingora-core` failed to compile for
`i686-pc-windows-msvc` ("expected `u32`, found `u64`"). Cast to the `RawSocket` alias instead; on 64-bit
Windows it is the same `u64` as before, so nothing changes there.
Fixes cloudflare#1119
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
lopatnov
added a commit
to lopatnov/conduit
that referenced
this pull request
Nov 11, 2026
…and in the npm package (#696, #671) Five new platforms, each in the four builds (full: bare binary and archive without a suffix; standard, gateway, static: archives): i686-unknown-linux-gnu, armv7-unknown-linux-gnueabihf, arm-unknown-linux-gnueabihf (ARMv6), arm-unknown-linux-gnueabi (all four built with cross on the stock images) and aarch64-pc-windows-msvc (native, on the windows-11-arm runner, zip like the x86-64 one). The probe builds of #696 compiled and linked all 20 builds (runs 42972530836 and 42975317527) and `windows-11-arm` has been green in CI on every recent pull request, the condition #671 set. The npm package maps `linux-ia32`, `linux-arm` (Node itself needs ARMv7 there, so the armv7 build) and `win32-arm64`; there are no musl builds for the 32-bit pair, so Alpine gets the "unsupported" message. `scripts/test_release_matrix.py` expects every bundle on every one of the 13 platforms and each npm row to ask for the right asset; the npm test fixture lists the new assets. Not released: i686-pc-windows-msvc (pingora-core does not compile there until cloudflare/pingora#1120 is in a release) and Android (Pingora does not support it). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This was referenced Nov 11, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #1119.
pingora-coredoes not compile for 32-bit Windows.listeners::l4::from_raw_fdpassesfd as u64toTcpStream::from_raw_socket, butstd::os::windows::io::RawSocketisu32whentarget_pointer_width = "32"andu64when it is"64":Change
Cast to the
RawSocketalias instead of the concrete type (and import it). One line plus theuse.RawSocketisu64, sofd as RawSocketis exactly the previousfd as u64. No behavior change.RawSocketisu32, so it compiles. Thefd: i32to socket conversion is otherwise untouched.#[cfg(windows)], so it is not compiled.Testing
On
main(3f87e92), Windows 11, rustc 1.99.0:cargo check -p pingora-core --target i686-pc-windows-msvccargo check -p pingora-core(x86_64-pc-windows-msvc)cargo fmt -p pingora-core -- --checkis clean (the first version of the line was reformatted byrustfmt, as it is now).cargo clippy -p pingora-core, for both targets, reports nothing at the changed lines.pingora-core0.9.1 with this one-line change (Conduit) builds fori686-pc-windows-msvcwith four feature sets and its test suite passes on that target (32-bit executables on a 64-bit Windows runner).cargo checkjob forpingora-corein CI, I can add one in a follow-up.🤖 Generated with Claude Code