-
Notifications
You must be signed in to change notification settings - Fork 13.6k
Closed
Labels
A-runtimeArea: std's runtime and "pre-main" init for handling backtraces, unwinds, stack overflowsArea: std's runtime and "pre-main" init for handling backtraces, unwinds, stack overflowsE-hardCall for participation: Hard difficulty. Experience needed to fix: A lot.Call for participation: Hard difficulty. Experience needed to fix: A lot.
Description
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.)
ishantheperson
Metadata
Metadata
Assignees
Labels
A-runtimeArea: std's runtime and "pre-main" init for handling backtraces, unwinds, stack overflowsArea: std's runtime and "pre-main" init for handling backtraces, unwinds, stack overflowsE-hardCall for participation: Hard difficulty. Experience needed to fix: A lot.Call for participation: Hard difficulty. Experience needed to fix: A lot.