From 2847b2c724b1ea7ad5042e5ee0554ac75eea46a5 Mon Sep 17 00:00:00 2001 From: Jiahao XU Date: Thu, 18 Apr 2024 21:51:13 +1000 Subject: [PATCH] Refactor: `ActiveJobTokenServer::new` no longer returns `Result` There is no need to, it never fails. Signed-off-by: Jiahao XU --- src/lib.rs | 2 +- src/parallel/job_token.rs | 14 ++++++-------- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 4df12680..1830b9da 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1449,7 +1449,7 @@ impl Build { } // Limit our parallelism globally with a jobserver. - let tokens = parallel::job_token::ActiveJobTokenServer::new()?; + let tokens = parallel::job_token::ActiveJobTokenServer::new(); // When compiling objects in parallel we do a few dirty tricks to speed // things up: diff --git a/src/parallel/job_token.rs b/src/parallel/job_token.rs index 5728da6a..cce9baf8 100644 --- a/src/parallel/job_token.rs +++ b/src/parallel/job_token.rs @@ -52,14 +52,12 @@ pub(crate) enum ActiveJobTokenServer { } impl ActiveJobTokenServer { - pub(crate) fn new() -> Result { + pub(crate) fn new() -> Self { match JobTokenServer::new() { JobTokenServer::Inherited(inherited_jobserver) => { - inherited_jobserver.enter_active().map(Self::Inherited) - } - JobTokenServer::InProcess(inprocess_jobserver) => { - Ok(Self::InProcess(inprocess_jobserver)) + Self::Inherited(inherited_jobserver.enter_active()) } + JobTokenServer::InProcess(inprocess_jobserver) => Self::InProcess(inprocess_jobserver), } } @@ -135,11 +133,11 @@ mod inherited_jobserver { } } - pub(super) fn enter_active(&self) -> Result, Error> { - Ok(ActiveJobServer { + pub(super) fn enter_active(&self) -> ActiveJobServer<'_> { + ActiveJobServer { jobserver: self, helper_thread: OnceCell::new(), - }) + } } }