Skip to content

Commit d03ff60

Browse files
committed
feat: blocking
1 parent 8ac6423 commit d03ff60

File tree

2 files changed

+22
-3
lines changed

2 files changed

+22
-3
lines changed

crates/libs/kill_tree/src/linux.rs

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
use crate::{
2-
core::{Error, Killable, ProcessId, ProcessInfo, ProcessInfos, Result},
2+
core::{Error, KillableBuildable, ProcessId, ProcessInfo, ProcessInfos, Result},
3+
unix::Killer,
34
Config,
45
};
56
use tracing::{debug, instrument};
@@ -148,13 +149,14 @@ pub(crate) struct KillerBuilder {}
148149
impl KillableBuildable for KillerBuilder {
149150
fn new_killable(&self, config: &Config) -> Result<Killer> {
150151
let killer_builder = crate::unix::KillerBuilder {};
151-
killer_builder.new_killer(config)
152+
killer_builder.new_killable(config)
152153
}
153154
}
154155

155156
#[cfg(feature = "blocking")]
156157
pub(crate) mod blocking {
157158
use super::*;
159+
use crate::core::blocking::ProcessInfosProvidable;
158160

159161
#[instrument]
160162
fn get_process_info(process_id: ProcessId, path: std::path::PathBuf) -> Result<ProcessInfo> {
@@ -197,11 +199,20 @@ pub(crate) mod blocking {
197199
}
198200
Ok(process_infos)
199201
}
202+
203+
pub(crate) struct ProcessInfosProvider {}
204+
205+
impl ProcessInfosProvidable for ProcessInfosProvider {
206+
fn get_process_infos(&self) -> Result<ProcessInfos> {
207+
crate::linux::blocking::get_process_infos()
208+
}
209+
}
200210
}
201211

202212
#[cfg(feature = "tokio")]
203213
pub(crate) mod tokio {
204214
use super::*;
215+
use crate::core::tokio::ProcessInfosProvidable;
205216

206217
#[instrument]
207218
async fn get_process_info(
@@ -240,4 +251,12 @@ pub(crate) mod tokio {
240251
}
241252
Ok(process_infos)
242253
}
254+
255+
pub(crate) struct ProcessInfosProvider {}
256+
257+
impl ProcessInfosProvidable for ProcessInfosProvider {
258+
async fn get_process_infos(&self) -> Result<ProcessInfos> {
259+
crate::linux::tokio::get_process_infos().await
260+
}
261+
}
243262
}

crates/libs/kill_tree/src/unix.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use crate::{
2-
core::{KillOutput, Killable, ProcessId, Result},
2+
core::{KillOutput, Killable, KillableBuildable, ProcessId, Result},
33
Config, Error,
44
};
55
use tracing::instrument;

0 commit comments

Comments
 (0)