Skip to content

Rust needs a high level interface to the system's process fork facilities #6930

@mstewartgallus

Description

@mstewartgallus

For many purposes it is needed to have complete isolation of memory, and permissions between tasks. The simplest and most portable way of doing so is by spawning new processes. Rust needs new functionality to spawn copies of the original process, and send them to do tasks. This "spawn_process" function would have a type similar to fn spawn_process (~fn : Copy Send Const ()) -> PID, and would have semantics such that all unsafe globally mutable state is reset to the processes initial state (for security purposes, consider if a process that holds sensitive data spawns a copy of itself with lower permissions that still has that data in memory, and then gets attacked.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-runtimeArea: std's runtime and "pre-main" init for handling backtraces, unwinds, stack overflowsE-hardCall for participation: Hard difficulty. Experience needed to fix: A lot.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions