mirror of
https://forgejo.ellis.link/continuwuation/continuwuity.git
synced 2026-11-15 21:26:50 +00:00
Fix possibly dependent conditions for server shutdown in config worker.
Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
1 parent
1313eb0b64
commit
292b601755
1 file changed
+8
-4
@@ -20,11 +20,15 @@ impl crate::Service for Service {
|
||||
}
|
||||
|
||||
async fn worker(self: Arc<Self>) -> Result {
|
||||
let mut signaled = self.server.signal.subscribe();
|
||||
while self.server.running() {
|
||||
if self.server.signal.subscribe().recv().await == Ok(SIGNAL) {
|
||||
if let Err(e) = self.handle_reload() {
|
||||
error!("Failed to reload config: {e}");
|
||||
}
|
||||
tokio::select! {
|
||||
() = self.server.until_shutdown() => break,
|
||||
signal = signaled.recv() => if signal != Ok(SIGNAL) { continue; },
|
||||
}
|
||||
|
||||
if let Err(e) = self.handle_reload() {
|
||||
error!("Failed to reload config: {e}");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user