Module linux_api::sched

source ·

Structs§

  • The flags passed to the clone and clone3 syscalls. While clone is documented as taking an i32 parameter for flags, in clone3 its a u64. Promote to u64 throughout.
  • The “dumpable” state, as manipulated via the prctl operations PR_SET_DUMPABLE and PR_GET_DUMPABLE.
  • struct linux_clone_args - arguments for the clone3 syscall @flags: Flags for the new process as listed above. All flags are valid except for LINUX_CSIGNAL and LINUX_CLONE_DETACHED. @pidfd: If LINUX_CLONE_PIDFD is set, a pidfd will be returned in this argument. @child_tid: If LINUX_CLONE_CHILD_SETTID is set, the TID of the child process will be returned in the child’s memory. @parent_tid: If LINUX_CLONE_PARENT_SETTID is set, the TID of the child process will be returned in the parent’s memory. @exit_signal: The exit_signal the parent process will be sent when the child exits. @stack: Specify the location of the stack for the child process. Note, @stack is expected to point to the lowest address. The stack direction will be determined by the kernel and set up appropriately based on @stack_size. @stack_size: The size of the stack for the child process. @tls: If LINUX_CLONE_SETTLS is set, the tls descriptor is set to tls. @set_tid: Pointer to an array of type *pid_t. The size of the array is defined using @set_tid_size. This array is used to select PIDs/TIDs for newly created processes. The first element in this defines the PID in the most nested PID namespace. Each additional element in the array defines the PID in the parent PID namespace of the original PID namespace. If the array has less entries than the number of currently nested PID namespaces only the PIDs in the corresponding namespaces are set. @set_tid_size: This defines the size of the array referenced in @set_tid. This cannot be larger than the kernel’s limit of nested PID namespaces. @cgroup: If LINUX_CLONE_INTO_CGROUP is specified set this to a file descriptor for the cgroup.

Enums§

Functions§

Type Aliases§