From 772727b0ef7d63144bf629d774f8b6c1c996bf78 Mon Sep 17 00:00:00 2001 From: salmonik Date: Thu, 29 Oct 2026 21:36:26 +0100 Subject: v2.3.1: settle orphaned reservations on server restart --- src/bin/server/main.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/bin') diff --git a/src/bin/server/main.rs b/src/bin/server/main.rs index 2770387..85e3134 100644 --- a/src/bin/server/main.rs +++ b/src/bin/server/main.rs @@ -35,6 +35,20 @@ fn main() { } }; + // A round cannot survive the process that held its state. Record any bet + // that was reserved but never settled, before serving new players. + let db_path = std::env::var("SERVER_DB").unwrap_or_else(|_| "server.db".to_string()); + match zagan_bet::server::core::recover_orphaned_reservations(&db_path) { + Ok(0) => {} + Ok(count) => println!( + "Settled {count} orphaned reservation(s) as abandoned after a restart" + ), + Err(error) => { + eprintln!("Failed to settle orphaned reservations in {db_path}: {error}"); + std::process::exit(1); + } + } + let tls = match tls::TlsServer::new("identity.p12") { Ok(t) => Arc::new(t), Err(e) => { -- cgit v1.2.3