mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00:00
Add support for launching devtools server on random port
Assign random port to devtools server in case user does not specify a port explicitly and report it to the embedding layer for display to user.
This commit is contained in:
parent
6ab923c8e8
commit
94db0d61cb
10 changed files with 73 additions and 9 deletions
|
@ -154,7 +154,20 @@ fn run_server(
|
|||
port: u16,
|
||||
embedder: EmbedderProxy,
|
||||
) {
|
||||
let listener = TcpListener::bind(&("0.0.0.0", port)).unwrap();
|
||||
let bound = TcpListener::bind(&("0.0.0.0", port)).ok().and_then(|l| {
|
||||
l.local_addr()
|
||||
.map(|addr| addr.port())
|
||||
.ok()
|
||||
.map(|port| (l, port))
|
||||
});
|
||||
|
||||
let port = bound.as_ref().map(|(_, port)| *port).ok_or(());
|
||||
embedder.send((None, EmbedderMsg::OnDevtoolsStarted(port)));
|
||||
|
||||
let listener = match bound {
|
||||
Some((l, _)) => l,
|
||||
None => return,
|
||||
};
|
||||
|
||||
let mut registry = ActorRegistry::new();
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue