fn new(
        id: pid_t,
        comm: CString,
        executable_node: Option<NamespaceNode>,
        thread_group: Arc<ThreadGroup>,
        parent: pid_t,
        thread: zx::Thread,
        files: Arc<FdTable>,
        mm: Arc<MemoryManager>,
        fs: Arc<FsContext>,
        signal_actions: Arc<SignalActions>,
        creds: Credentials,
        abstract_socket_namespace: Arc<AbstractSocketNamespace>,
        sjc: ShellJobControl,
        exit_signal: Option<Signal>,
    ) -> CurrentTask {
        CurrentTask::new(Task {
            id,
            command: RwLock::new(comm),
            executable_node: RwLock::new(executable_node),
            thread_group,
            parent,
            children: RwLock::new(HashSet::new()),
            thread,
            files,
            mm,
            fs,
            creds: RwLock::new(creds),
            abstract_socket_namespace,
            shell_job_control: sjc,
            clear_child_tid: Mutex::new(UserRef::default()),
            signal_actions,
            signals: Default::default(),
            exit_signal,
            exit_code: Mutex::new(None),
            zombie_children: Mutex::new(vec![]),
        })
    }
/// Internal function for creating a Task object.
///
/// Useful for sharing the default initialization of members between
/// create_process and create_thread.
///
/// Consider using create_process or create_thread instead of calling this
/// function directly.
Internal function for creating a Task object.
Useful for sharing the default initialization of members between
create_process and create_thread.

Consider using create_process or create_thread instead of calling this
function directly.
Internal function for creating a Task object . Useful for sharing the default initialization of members between create_process and create_thread . Consider using create_process or create_thread instead of calling this function directly .
fn new(
        id: pid_t,
        comm: CString,
        executable_node: Option<NamespaceNode>,
        thread_group: Arc<ThreadGroup>,
        parent: pid_t,
        thread: zx::Thread,
        files: Arc<FdTable>,
        mm: Arc<MemoryManager>,
        fs: Arc<FsContext>,
        signal_actions: Arc<SignalActions>,
        creds: Credentials,
        abstract_socket_namespace: Arc<AbstractSocketNamespace>,
        sjc: ShellJobControl,
        exit_signal: Option<Signal>,
    ) -> CurrentTask {
        CurrentTask::new(Task {
            id,
            command: RwLock::new(comm),
            executable_node: RwLock::new(executable_node),
            thread_group,
            parent,
            children: RwLock::new(HashSet::new()),
            thread,
            files,
            mm,
            fs,
            creds: RwLock::new(creds),
            abstract_socket_namespace,
            shell_job_control: sjc,
            clear_child_tid: Mutex::new(UserRef::default()),
            signal_actions,
            signals: Default::default(),
            exit_signal,
            exit_code: Mutex::new(None),
            zombie_children: Mutex::new(vec![]),
        })
    }
fn new ( id : pid_t , comm : CString , executable_node : Option < NamespaceNode > , thread_group : Arc < ThreadGroup > , parent : pid_t , thread : zx :: Thread , files : Arc < FdTable > , mm : Arc < MemoryManager > , fs : Arc < FsContext > , signal_actions : Arc < SignalActions > , creds : Credentials , abstract_socket_namespace : Arc < AbstractSocketNamespace > , sjc : ShellJobControl , exit_signal : Option < Signal > , ) -> CurrentTask { CurrentTask :: new ( Task { id , command : RwLock :: new ( comm ) , executable_node : RwLock :: new ( executable_node ) , thread_group , parent , children : RwLock :: new ( HashSet :: new ( ) ) , thread , files , mm , fs , creds : RwLock :: new ( creds ) , abstract_socket_namespace , shell_job_control : sjc , clear_child_tid : Mutex :: new ( UserRef :: default ( ) ) , signal_actions , signals : Default :: default ( ) , exit_signal , exit_code : Mutex :: new ( None ) , zombie_children : Mutex :: new ( vec ! [ ] ) , } ) }
Internal function for creating a Task object.
Internal function for creating a Task object .
id
pid_t
comm
CString
executable_node
Option<NamespaceNode>
thread_group
Arc<ThreadGroup>
parent
pid_t
thread
zx::Thread
files
Arc<FdTable>
mm
Arc<MemoryManager>
fs
Arc<FsContext>
signal_actions
Arc<SignalActions>
creds
Credentials
abstract_socket_namespace
Arc<AbstractSocketNamespace>
sjc
ShellJobControl
exit_signal
Option<Signal>
id
pid_t
comm
CString
executable_node
Option<NamespaceNode>
thread_group
Arc<ThreadGroup>
parent
pid_t
thread
zx::Thread
files
Arc<FdTable>
mm
Arc<MemoryManager>
fs
Arc<FsContext>
signal_actions
Arc<SignalActions>
creds
Credentials
abstract_socket_namespace
Arc<AbstractSocketNamespace>
sjc
ShellJobControl
exit_signal
Option<Signal>