]> git.proxmox.com Git - proxmox-backup.git/blobdiff - src/bin/proxmox-backup-proxy.rs
update to tokio 0.2.0-alpha.4
[proxmox-backup.git] / src / bin / proxmox-backup-proxy.rs
index 03ae821eaa02f06fe9eecd6a0f4f7da3130f52c0..9c052f096b18c1492e77a10f2fbdff688aac8dbc 100644 (file)
@@ -71,7 +71,7 @@ async fn run() -> Result<(), Error> {
 
     let server = daemon::create_daemon(
         ([0,0,0,0,0,0,0,0], 8007).into(),
-        |listener| {
+        |listener, ready| {
             let connections = listener
                 .incoming()
                 .map_err(Error::from)
@@ -87,14 +87,18 @@ async fn run() -> Result<(), Error> {
                         )
                     }
                 });
-            Ok(hyper::Server::builder(connections)
-               .serve(rest_server)
-               .with_graceful_shutdown(server::shutdown_future())
-               .map_err(|err| eprintln!("server error: {}", err))
-               .map(|_| ())
+
+            Ok(ready
+                .and_then(|_| hyper::Server::builder(connections)
+                    .serve(rest_server)
+                    .with_graceful_shutdown(server::shutdown_future())
+                    .map_err(Error::from)
+                )
+                .map_err(|err| eprintln!("server error: {}", err))
+                .map(|_| ())
             )
         },
-    )?;
+    );
 
     daemon::systemd_notify(daemon::SystemdNotify::Ready)?;
 
@@ -108,7 +112,7 @@ async fn run() -> Result<(), Error> {
         bail!("unable to start daemon - {}", err);
     }
 
-    server.await;
+    server.await?;
     log::info!("done - exit server");
 
     Ok(())