Skip to content

Commit ae1c3ce

Browse files
committed
Fix fd leakage in client
Set close-on-exec for recver_fd, close_fd and close recver_fd after close. Signed-off-by: Tim Zhang <tim@hyper.sh>
1 parent e50c5bc commit ae1c3ce

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

src/sync/client.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ impl Client {
5050
AddressFamily::Unix,
5151
SockType::Stream,
5252
None,
53-
SockFlag::empty(),
53+
SockFlag::SOCK_CLOEXEC,
5454
)
5555
.unwrap();
5656
let client_close = Arc::new(ClientClose { fd, close_fd });
@@ -185,6 +185,9 @@ impl Client {
185185

186186
map.remove(&mh.stream_id);
187187
}
188+
189+
close(recver_fd).unwrap();
190+
188191
trace!("Recver quit");
189192
});
190193

0 commit comments

Comments
 (0)