+ proxmox_rest_server::init_worker_tasks(pbs_buildcfg::PROXMOX_BACKUP_LOG_DIR_M!().into(), file_opts.clone())?;
+
+ // http server future:
+ let server = daemon::create_daemon(
+ ([127,0,0,1], 82).into(),
+ move |listener| {
+ let incoming = hyper::server::conn::AddrIncoming::from_listener(listener)?;
+
+ Ok(async {
+ daemon::systemd_notify(daemon::SystemdNotify::Ready)?;
+
+ hyper::Server::builder(incoming)
+ .serve(rest_server)
+ .with_graceful_shutdown(proxmox_rest_server::shutdown_future())
+ .map_err(Error::from)
+ .await
+ })
+ },
+ );
+
+ proxmox_rest_server::write_pid(pbs_buildcfg::PROXMOX_BACKUP_API_PID_FN)?;
+
+ let init_result: Result<(), Error> = try_block!({
+ proxmox_rest_server::register_task_control_commands(&mut commando_sock)?;
+ commando_sock.spawn()?;
+ proxmox_rest_server::catch_shutdown_signal()?;
+ proxmox_rest_server::catch_reload_signal()?;
+ Ok(())
+ });
+
+ if let Err(err) = init_result {
+ bail!("unable to start daemon - {}", err);
+ }