diff --git a/src/error.rs b/src/error.rs index 6d1ff0f..af3d32c 100644 --- a/src/error.rs +++ b/src/error.rs @@ -2,6 +2,8 @@ use std::io; use thiserror::Error; +pub type Result = std::result::Result; + #[derive(Error, Debug)] pub enum Error { #[error("{msg}: {src}")] diff --git a/src/lib.rs b/src/lib.rs index 9499203..9317130 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -6,7 +6,7 @@ mod spawner; mod specification; mod void; -use error::Error; +use error::{Error, Result}; use spawner::Spawner; use specification::Specification; @@ -18,7 +18,7 @@ use clap::{App, AppSettings}; use nix::fcntl::OFlag; use nix::unistd::{self}; -pub fn run() -> Result<(), Error> { +pub fn run() -> Result<()> { // process arguments let matches = App::new("clone-shim") .version(env!("GIT_HASH")) @@ -98,7 +98,7 @@ impl PipePair { } } -fn create_pipes(names: Vec<&str>) -> Result, Error> { +fn create_pipes(names: Vec<&str>) -> Result> { let mut pipes = HashMap::new(); for pipe in names { diff --git a/src/spawner.rs b/src/spawner.rs index 93f0040..06c0466 100644 --- a/src/spawner.rs +++ b/src/spawner.rs @@ -3,7 +3,7 @@ use log::{debug, error, info}; use super::specification::{Arg, Entrypoint, Pipe, Specification, Trigger}; use super::PipePair; use crate::void::VoidBuilder; -use crate::Error; +use crate::{Error, Result}; use std::collections::HashMap; use std::ffi::CString; @@ -24,7 +24,7 @@ pub struct Spawner<'a> { } impl<'a> Spawner<'a> { - pub fn spawn(&mut self) -> Result<(), Error> { + pub fn spawn(&mut self) -> Result<()> { for (name, entrypoint) in &self.spec.entrypoints { info!("spawning entrypoint `{}`", name.as_str()); @@ -79,7 +79,7 @@ impl<'a> Spawner<'a> { Ok(()) } - fn pipe_trigger(&self, mut pipe: File, spec: &Entrypoint, name: &str) -> Result<(), Error> { + fn pipe_trigger(&self, mut pipe: File, spec: &Entrypoint, name: &str) -> Result<()> { let mut buf = [0_u8; BUFFER_SIZE]; loop { diff --git a/src/specification.rs b/src/specification.rs index 759c28d..e864335 100644 --- a/src/specification.rs +++ b/src/specification.rs @@ -1,6 +1,6 @@ use log::debug; -use crate::Error; +use crate::{Error, Result}; use std::collections::{HashMap, HashSet}; use std::path::PathBuf; @@ -115,7 +115,7 @@ impl Specification { (read, write) } - pub fn validate(&self) -> Result<(), Error> { + pub fn validate(&self) -> Result<()> { // validate pipes match let (read, write) = self.pipes(); let mut read_set = HashSet::with_capacity(read.len()); diff --git a/src/void.rs b/src/void.rs index e70398e..cfee746 100644 --- a/src/void.rs +++ b/src/void.rs @@ -1,5 +1,5 @@ use crate::clone::{clone3, CloneArgs, CloneFlags}; -use crate::Error; +use crate::{Error, Result}; use std::collections::HashMap; use std::fs; @@ -29,7 +29,7 @@ impl VoidBuilder { self } - pub fn spawn(&mut self, child_fn: impl FnOnce() -> i32) -> Result { + pub fn spawn(&mut self, child_fn: impl FnOnce() -> i32) -> Result { let mut args = CloneArgs::new( CloneFlags::CLONE_NEWCGROUP | CloneFlags::CLONE_NEWIPC @@ -63,7 +63,7 @@ impl VoidBuilder { } // per-namespace void creation - fn newns_post(&self) -> Result<(), Error> { + fn newns_post(&self) -> Result<()> { // consume the TempDir so it doesn't get deleted let new_root = tempfile::tempdir()?.into_path();