diff --git a/crates/nailrt/src/lib.rs b/crates/nailrt/src/lib.rs index ad47f47..d9ad5b2 100644 --- a/crates/nailrt/src/lib.rs +++ b/crates/nailrt/src/lib.rs @@ -18,7 +18,9 @@ where Fut: Future>, F: Fn(ServerState, CancelToken) -> Fut + Sync + Send, { - while let Err(e) = main_fn(app.clone(), shutdown.clone()).await { + while let Err(e) = main_fn(app.clone(), shutdown.clone()).await + && !shutdown.is_cancelled() + { tracing::error!(error = %e, worker = worker, "Failed to start"); // Wait a moment before trying again tokio::time::sleep(Duration::from_secs(1)).await;