From 6de19f43ccbf7ab60d3293e91c02c0c6f4a50064 Mon Sep 17 00:00:00 2001 From: Harry Ho Date: Fri, 12 Mar 2021 12:36:30 +0800 Subject: [PATCH] nal: Prevent pushing duplicate handles for the same TcpSocket --- src/nal.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/nal.rs b/src/nal.rs index 3ae4b76..5d23898 100644 --- a/src/nal.rs +++ b/src/nal.rs @@ -297,7 +297,10 @@ where let mut sockets = self.sockets.borrow_mut(); let socket: &mut net::socket::TcpSocket = &mut *sockets.get(handle); socket.close(); - self.unused_handles.borrow_mut().push(handle).unwrap(); + let mut unused_handles = self.unused_handles.borrow_mut(); + if unused_handles.iter().find(|&x| *x == handle).is_none() { + unused_handles.push(handle).unwrap(); + } Ok(()) } } \ No newline at end of file