aboutsummaryrefslogtreecommitdiff
path: root/src/server/client_accept.rs
diff options
context:
space:
mode:
authorCan Celik <ogulcancelik@gmail.com>2026-08-10 21:01:45 +0300
committerGitHub <noreply@github.com>2026-08-10 21:01:45 +0300
commit7e4ab7b034078b5ac22b514fb7008f0b288687a6 (patch)
tree1512a1e625f6609268131a3edf5f707089f86b3d /src/server/client_accept.rs
parentbbd7c2094a44fcbcc4a3a3aedef236c4d697d793 (diff)
fix(server): prioritize shutdown requests (#2624)
refs #2612
Diffstat (limited to 'src/server/client_accept.rs')
-rw-r--r--src/server/client_accept.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/server/client_accept.rs b/src/server/client_accept.rs
index ccfe7b1a..e2a8a42d 100644
--- a/src/server/client_accept.rs
+++ b/src/server/client_accept.rs
@@ -1,5 +1,5 @@
use std::io;
-use std::sync::{atomic::AtomicBool, Arc};
+use std::sync::{atomic::AtomicBool, atomic::Ordering, Arc};
use interprocess::local_socket::traits::{Listener as _, Stream as _};
use tokio::sync::mpsc;
@@ -16,6 +16,9 @@ pub(crate) fn accept_pending_client_connections(
server_event_tx: &mpsc::Sender<ServerEvent>,
) -> io::Result<()> {
loop {
+ if should_quit.load(Ordering::Acquire) {
+ break;
+ }
match listener.accept() {
Ok(stream) => {
let client_id = *next_client_id;