From 3d1c07c2a98eeb1a321890b020db51122955e632 Mon Sep 17 00:00:00 2001 From: Sofia Date: Thu, 23 Jul 2026 22:40:59 +0300 Subject: [PATCH] Properly dispose of listener --- src/lib.rs | 12 ++++++++++++ src/listener.rs | 3 ++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/lib.rs b/src/lib.rs index f885f79..b0d7f32 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -108,6 +108,13 @@ pub struct Peer>, messages: VecDeque>, } +impl Drop + for Peer +{ + fn drop(&mut self) { + self.closed.store(true, Ordering::Relaxed); + } +} impl Peer { /// Bind given port to listen to incoming messages. Creates a new Peer that @@ -124,6 +131,11 @@ impl Listener { } .ok(); } + Err(ref err) if err.kind() == io::ErrorKind::WouldBlock => {} Err(err) => { self.sender.send(ListenerMessage::Error(err)).ok(); }