aboutsummaryrefslogtreecommitdiffstats
path: root/src/command/tokio.rs
blob: c63b18a5bc7c14eaf7a08ac19aeb1421c51d8fe3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
impl super::Impl for tokio::process::Command {
    type Child = tokio::process::Child;

    fn new_impl(program: &::std::ffi::OsStr) -> Self {
        Self::new(program)
    }

    fn stdin_impl(&mut self, cfg: ::std::process::Stdio) {
        self.stdin(cfg);
    }

    fn stdout_impl(&mut self, cfg: ::std::process::Stdio) {
        self.stdout(cfg);
    }

    fn stderr_impl(&mut self, cfg: ::std::process::Stdio) {
        self.stderr(cfg);
    }

    unsafe fn pre_exec_impl<F>(&mut self, f: F)
    where
        F: FnMut() -> ::std::io::Result<()> + Send + Sync + 'static,
    {
        self.pre_exec(f);
    }

    fn spawn_impl(&mut self) -> crate::Result<Self::Child> {
        self.spawn().map_err(crate::error::spawn)
    }
}