-use failure::*;
+use anyhow::{bail, Error};
#[macro_use]
extern crate proxmox_backup;
extern crate tokio;
extern crate nix;
-use tokio::prelude::future::lazy;
-
-use proxmox::tools::try_block;
+use proxmox::try_block;
use proxmox_backup::server;
use proxmox_backup::tools;
let errmsg: Arc<Mutex<Option<String>>> = Arc::new(Mutex::new(None));
let errmsg1 = errmsg.clone();
- tokio::run(lazy(move || {
+ let mut rt = tokio::runtime::Runtime::new().unwrap();
+ rt.block_on(async move {
let init_result: Result<(), Error> = try_block!({
server::create_task_control_socket()?;
if let Err(err) = init_result {
eprintln!("unable to start daemon - {}", err);
- return Ok(());
+ return;
}
let errmsg = errmsg1.clone();
- let res = server::WorkerTask::new_thread("garbage_collection", None, "root@pam", true, move |worker| {
- println!("WORKER {}", worker);
-
- let result = garbage_collection(&worker);
- tools::request_shutdown();
-
- if let Err(err) = result {
- println!("got expected error: {}", err);
- } else {
- let mut data = errmsg.lock().unwrap();
- *data = Some(String::from("thread finished - seems abort did not work as expected"));
- }
-
- Ok(())
- });
+ let res = server::WorkerTask::new_thread(
+ "garbage_collection",
+ None,
+ proxmox_backup::api2::types::Userid::root_userid().clone(),
+ true,
+ move |worker| {
+ println!("WORKER {}", worker);
+
+ let result = garbage_collection(&worker);
+ tools::request_shutdown();
+
+ if let Err(err) = result {
+ println!("got expected error: {}", err);
+ } else {
+ let mut data = errmsg.lock().unwrap();
+ *data = Some(String::from("thread finished - seems abort did not work as expected"));
+ }
+
+ Ok(())
+ },
+ );
match res {
Err(err) => {
server::abort_worker_async(wid.parse::<server::UPID>().unwrap());
}
}
-
- Ok(())
- }));
-
+ });
let data = errmsg.lock().unwrap();
match *data {