Skip to content

Commit cc6b187

Browse files
committed
async: Close listener fd after server shutdown
The listener fd is not closed when server.shutdown(), this will make a residual fd if a process start and close different servers for many times. Signed-off-by: Abel Feng <[email protected]>
1 parent b13d3fd commit cc6b187

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

src/asynchronous/server.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,11 @@ impl Server {
231231
self.stop_listen().await;
232232
self.disconnect().await;
233233

234+
while let Some(fd) = self.listeners.pop() {
235+
unistd::close(fd).unwrap_or_else(|e| {
236+
warn!("failed to close listener fd: {}", e);
237+
});
238+
}
234239
Ok(())
235240
}
236241

0 commit comments

Comments
 (0)