Skip to content

Commit

Permalink
fix: fix tcp reuse bind
Browse files Browse the repository at this point in the history
  • Loading branch information
driftluo committed Sep 6, 2022
1 parent a17d12a commit ec4d8a2
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion network/src/network.rs
Original file line number Diff line number Diff line change
Expand Up @@ -954,6 +954,7 @@ impl<T: ExitHandler> NetworkService<T> {
}
if let Some(addr) = multiaddr_to_socketaddr(addr) {
use p2p::service::TcpSocket;
let domain = socket2::Domain::for_address(addr);
service_builder =
service_builder.tcp_config(move |socket: TcpSocket| {
let socket_ref = socket2::SockRef::from(&socket);
Expand All @@ -965,7 +966,9 @@ impl<T: ExitHandler> NetworkService<T> {
socket_ref.set_reuse_port(true)?;

socket_ref.set_reuse_address(true)?;
socket_ref.bind(&addr.into())?;
if socket_ref.domain()? == domain {
socket_ref.bind(&addr.into())?;
}
Ok(socket)
});
init.transform(TransportType::Tcp)
Expand Down

0 comments on commit ec4d8a2

Please sign in to comment.