pub fn execute_task<L, F, G>(
locked: &mut Locked<L>,
task_builder: TaskBuilder,
pre_run: F,
task_complete: G,
ptrace_state: Option<PtraceCoreState>,
) -> Result<(), Errno>where
L: LockBefore<TaskRelease>,
F: FnOnce(&mut Locked<Unlocked>, &mut CurrentTask) -> Result<(), Errno> + Send + Sync + 'static,
G: FnOnce(Result<ExitStatus, Error>) + Send + Sync + 'static,