summaryrefslogtreecommitdiffhomepage
path: root/src/process/mod.rs
blob: 3259f90524b205203c49b3f23dfab1d258b64958 (plain)
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
31
use std::io;

use std::process::{ChildStderr, ChildStdout};

/// A module for monitoring child processes and get notified of events on them.
pub mod monitor;
use self::monitor::MonitoredChild;

/// A module for all OpenVPN related process management.
pub mod openvpn;

use clonablechild::ClonableChild;


impl MonitoredChild for ClonableChild {
    fn wait(&self) -> io::Result<bool> {
        ClonableChild::wait(self).map(|exit_status| exit_status.success())
    }

    fn kill(&self) -> io::Result<()> {
        ClonableChild::kill(self)
    }

    fn stdout(&mut self) -> Option<ChildStdout> {
        self.stdout()
    }

    fn stderr(&mut self) -> Option<ChildStderr> {
        self.stderr()
    }
}