upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs49
1 files changed, 38 insertions, 11 deletions
diff --git a/src/main.rs b/src/main.rs
index 6c9da05..dd2c903 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -207,18 +207,45 @@ async fn main() -> Result<()> {
207 info!("Starting HTTP server on {}", config.bind_address); 207 info!("Starting HTTP server on {}", config.bind_address);
208 208
209 // Run server until shutdown signal, then cleanup 209 // Run server until shutdown signal, then cleanup
210 tokio::select! { 210 #[cfg(unix)]
211 result = http::run_server( 211 {
212 config, 212 use tokio::signal::unix::{signal, SignalKind};
213 relay_with_db.relay, 213 let mut sigterm = signal(SignalKind::terminate())?;
214 relay_with_db.database, 214
215 metrics, 215 tokio::select! {
216 purgatory, 216 result = http::run_server(
217 ) => { 217 config,
218 result? 218 relay_with_db.relay,
219 relay_with_db.database,
220 metrics,
221 purgatory,
222 ) => {
223 result?
224 }
225 _ = signal::ctrl_c() => {
226 info!("Received SIGINT (Ctrl+C), cleaning up...");
227 }
228 _ = sigterm.recv() => {
229 info!("Received SIGTERM, cleaning up...");
230 }
219 } 231 }
220 _ = signal::ctrl_c() => { 232 }
221 info!("Received shutdown signal, cleaning up..."); 233
234 #[cfg(not(unix))]
235 {
236 tokio::select! {
237 result = http::run_server(
238 config,
239 relay_with_db.relay,
240 relay_with_db.database,
241 metrics,
242 purgatory,
243 ) => {
244 result?
245 }
246 _ = signal::ctrl_c() => {
247 info!("Received SIGINT (Ctrl+C), cleaning up...");
248 }
222 } 249 }
223 } 250 }
224 251