Skip to content

use named pipe when creating new jobserver #13483

Closed
@NobodyXu

Description

@NobodyXu

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

No one assigned

    Labels

    A-jobserverArea: jobserver, concurrency, parallelismC-feature-requestCategory: 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 fix

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions