Skip to content

Commit a5e8144

Browse files
authored
fix: address already in use error in dfx start (#4006)
* fix: address already in use error in dfx start * unused dependency * lint
1 parent ea6fd5d commit a5e8144

File tree

3 files changed

+1
-18
lines changed

3 files changed

+1
-18
lines changed

Cargo.lock

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/dfx/Cargo.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,6 @@ shell-words = "1.1.0"
104104
slog = { workspace = true, features = ["max_level_trace"] }
105105
slog-async.workspace = true
106106
slog-term.workspace = true
107-
socket2 = "0.5.5"
108107
supports-color = "2.1.0"
109108
sysinfo = "0.28.4"
110109
tar.workspace = true

src/dfx/src/util/mod.rs

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ use idl2json::{idl2json, Idl2JsonOptions};
1515
use num_traits::FromPrimitive;
1616
use reqwest::{Client, StatusCode, Url};
1717
use rust_decimal::Decimal;
18-
use socket2::{Domain, Socket};
1918
use std::collections::BTreeMap;
2019
use std::io::{stderr, stdin, stdout, IsTerminal, Read};
2120
use std::net::{IpAddr, SocketAddr, TcpListener};
@@ -35,22 +34,8 @@ const DECIMAL_POINT: char = '.';
3534
// thus, we need to recreate SocketAddr with the kernel-provided dynamically allocated port here.
3635
#[context("Failed to find available socket address")]
3736
pub fn get_reusable_socket_addr(ip: IpAddr, port: u16) -> DfxResult<SocketAddr> {
38-
let socket = if ip.is_ipv4() {
39-
Socket::new(Domain::IPV4, socket2::Type::STREAM, None)
40-
.context("Failed to create IPv4 socket.")?
41-
} else {
42-
Socket::new(Domain::IPV6, socket2::Type::STREAM, None)
43-
.context("Failed to create IPv6 socket.")?
44-
};
45-
socket
46-
.set_linger(Some(Duration::from_secs(10)))
47-
.context("Failed to set linger duration of tcp listener.")?;
48-
socket
49-
.bind(&SocketAddr::new(ip, port).into())
37+
let listener = TcpListener::bind(SocketAddr::new(ip, port))
5038
.with_context(|| format!("Failed to bind socket to {}:{}.", ip, port))?;
51-
socket.listen(128).context("Failed to listen on socket.")?;
52-
53-
let listener: TcpListener = socket.into();
5439
listener
5540
.local_addr()
5641
.context("Failed to fetch local address.")

0 commit comments

Comments
 (0)