refactor(fspy): also gate ipc channel module out on android#329
refactor(fspy): also gate ipc channel module out on android#329branchseer wants to merge 1 commit intomainfrom
Conversation
Extend the `not(target_env = "musl")` gate on `fspy_shared::ipc::channel` (and all downstream `ChannelConf`/`channel()` references) to also exclude `target_os = "android"`. https://claude.ai/code/session_01VqiMHiGeViu1pGhWwJ67Qc
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 340c663968
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| #[cfg(all(not(target_os = "android"), not(target_env = "musl")))] | ||
| pub mod channel; |
There was a problem hiding this comment.
Gate preload IPC references on Android
Excluding fspy_shared::ipc::channel for Android here leaves downstream Android builds with unresolved symbols: fspy_preload_unix still imports channel::Sender and accesses encoded_payload.payload.ipc_channel_conf unconditionally (crates/fspy_preload_unix/src/client/mod.rs, lines 11 and 48). On target_os="android" + non-musl, this commit removes the module/field definitions but does not gate or replace those call sites, so compiling the preload crate fails.
Useful? React with 👍 / 👎.
Summary
Extend the
not(target_env = "musl")gate onfspy_shared::ipc::channel(and all downstreamChannelConf/channel()references) to also excludetarget_os = "android". On both musl and android, the preload library's IPC channel is unavailable, so the shared-memory channel module has no purpose there.fspy_shared::ipc::channelmodule gated onall(not(target_os = "android"), not(target_env = "musl"))fspy::ipcmodule (which re-exportsOwnedReceiverLockGuardandSHM_CAPACITY) similarly gatedfspy::unix::SpyImpl::spawnchannel creation,Payload::ipc_channel_conffield init,ipc_receiver_lock_guardcreation and field,PathAccessIterable::iter()branch — all updatedPayload::ipc_channel_conffield andChannelConfimport infspy_shared_unix::payload— updatedPreload-library gates (
preload_path,NativeStrimport,PRELOAD_CDYLIB_BINARY,fspy_preload_unix) are left untouched — they remain musl-only for this PR.Test plan
cargo check --workspace --all-features --all-targets --lockedon host (glibc)cargo check --workspace --all-features --target x86_64-unknown-linux-muslcargo clippy --workspace --all-targets --all-features -- -D warningscargo fmt --checkRUSTDOCFLAGS='-D warnings' cargo doc --no-deps --document-private-itemscargo test -p fspy --test node_fs(exercises full spawn + IPC pipeline, 8 pass)https://claude.ai/code/session_01VqiMHiGeViu1pGhWwJ67Qc