Skip to content

Commit 100d5a5

Browse files
authored
Merge pull request #20 from jjs-dev/rewrite-wait
Rewrite waiting
2 parents 5bf5959 + 5484ffb commit 100d5a5

File tree

27 files changed

+725
-402
lines changed

27 files changed

+725
-402
lines changed

Cargo.lock

Lines changed: 168 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ nix = { version = "0.19.0" }
1616
backtrace = "0.3.46"
1717
thiserror = "1.0.19"
1818
anyhow = "1.0.32"
19+
once_cell = "1.4.1"
20+
futures-util = "0.3.6"
21+
tokio = { version = "0.3.2", features = ["net"] }
1922

2023
[workspace]
2124
members = ["minion-ffi", ".", "minion-tests", "minion-cli"]

minion-cli/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,4 @@ edition = "2018"
88
minion = {path = ".."}
99
structopt = "0.3.13"
1010
libc = "0.2.68"
11+
tokio = { version = "0.3.2", features = ["macros", "rt"] }

minion-cli/src/main.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,8 @@ struct ExecOpt {
9999
pwd: String,
100100
}
101101

102-
fn main() {
102+
#[tokio::main(flavor = "current_thread")]
103+
async fn main() {
103104
let options: ExecOpt = ExecOpt::from_args();
104105
if options.dump_argv {
105106
println!("{:#?}", options);
@@ -152,9 +153,8 @@ fn main() {
152153
if options.dump_minion_params {
153154
println!("{:#?}", args);
154155
}
155-
let cp = backend.spawn(args).unwrap();
156-
cp.wait_for_exit(None).unwrap();
157-
let exit_code = cp.get_exit_code().unwrap();
156+
let mut cp = backend.spawn(args).unwrap();
157+
let exit_code = cp.wait_for_exit().unwrap().await.unwrap();
158158
println!("---> Child process exited with code {:?} <---", exit_code);
159159
if sandbox.check_cpu_tle().unwrap() {
160160
println!("Note: CPU time limit was exceeded");

minion-ffi/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ crate-type = ["cdylib", "staticlib"]
99

1010
[dependencies]
1111
minion = {path = ".."}
12+
tokio = {version = "0.3.2", features = ["rt", "time"]}
1213

1314
[build-dependencies]
1415
cbindgen = { version = "0.14.1", default-features = false }

0 commit comments

Comments
 (0)