-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Closed
Labels
A-jobserverArea: jobserver, concurrency, parallelismArea: jobserver, concurrency, parallelismC-feature-requestCategory: proposal for a feature. Before PR, ping rust-lang/cargo if this is not `Feature accepted`Category: proposal for a feature. Before PR, ping rust-lang/cargo if this is not `Feature accepted`S-blocked-externalStatus: ❌ blocked on something out of the direct control of the Cargo project, e.g., upstream fixStatus: ❌ blocked on something out of the direct control of the Cargo project, e.g., upstream fix
Description
Thanks, my proposed solution is to change rust-lang/jobserver to use a named pipe instead of an annoymous one.
The named pipe is passed down by its path in filesystem and opening it using
O_NONBLOCK
doesn't affect others.We can also retain backwards compatibility by keeping the jobserver fds inheritable and keeping them in the environment variable.
E.g.
MAKEFLAGS='--jobserver-auth=fifo:/path/to/fifo --jobserver-fds=3,5'
Originally posted by @NobodyXu in #13476 (comment)
Metadata
Metadata
Assignees
Labels
A-jobserverArea: jobserver, concurrency, parallelismArea: jobserver, concurrency, parallelismC-feature-requestCategory: proposal for a feature. Before PR, ping rust-lang/cargo if this is not `Feature accepted`Category: proposal for a feature. Before PR, ping rust-lang/cargo if this is not `Feature accepted`S-blocked-externalStatus: ❌ blocked on something out of the direct control of the Cargo project, e.g., upstream fixStatus: ❌ blocked on something out of the direct control of the Cargo project, e.g., upstream fix