kratazone/
lib.rs

1use std::{os::raw::c_int, time::Duration};
2
3use anyhow::Result;
4use tokio::time::sleep;
5use xenstore::{XsdClient, XsdInterface};
6
7pub mod background;
8pub mod childwait;
9pub mod exec;
10pub mod init;
11pub mod metrics;
12
13pub async fn death(code: c_int) -> Result<()> {
14    let store = XsdClient::open().await?;
15    store
16        .write_string("krata/zone/exit-code", &code.to_string())
17        .await?;
18    drop(store);
19    loop {
20        sleep(Duration::from_secs(1)).await;
21    }
22}