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}