Function jail::fork::fork_process

source ·
pub fn fork_process<F>(
    jail: Minijail,
    keep_rds: Vec<RawDescriptor>,
    debug_label: Option<String>,
    post_fork_cb: F
) -> Result<Child>
where F: FnOnce(),
Expand description

Forks this process using [Minijail] and calls a closure in the new process.

After post_fork_cb returns, the new process exits with 0 code. If post_fork_cb panics, the new process exits with 101 code.

This function never returns in the forked process.

§Arguments

  • jail - [Minijail] instance to fork.
  • keep_rds - [RawDescriptor]s to be kept in the forked process. other file descriptors will be closed by [Minijail] in the forked process.
  • debug_label - (optional) thread name. this will be trimmed to 15 charactors.
  • post_fork_cb - Callback to run in the new process.