From 175dbb46e08c084ab52d533d4ebc4c13b89c4a0c Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Wed, 22 Feb 2023 23:23:42 -0700 Subject: [PATCH] spool: break out of startup enumeration early if ctrl-c is pressed --- crates/kumod/src/spool.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/crates/kumod/src/spool.rs b/crates/kumod/src/spool.rs index c517850f..ba42175c 100644 --- a/crates/kumod/src/spool.rs +++ b/crates/kumod/src/spool.rs @@ -1,6 +1,7 @@ use crate::logging::{log_disposition, RecordType}; use crate::mod_kumo::{DefineSpoolParams, SpoolKind}; use crate::queue::QueueManager; +use crate::shutdown::Activity; use chrono::Utc; use message::Message; use rfc5321::{EnhancedStatusCode, Response}; @@ -177,8 +178,12 @@ impl SpoolManager { // otherwise we'll deadlock ourselves in the loop below drop(tx); + let activity = Activity::get()?; tracing::debug!("start_spool: waiting for enumeration"); while let Some(entry) = rx.recv().await { + if activity.is_shutting_down() { + break; + } let now = Utc::now(); match entry { SpoolEntry::Item { id, data } => match Message::new_from_spool(id, data) {