| |
pub fn spawn(self, config: service::Config) -> NodeHandle<G> {
|
| |
let listen = vec![([0, 0, 0, 0], 0).into()];
|
| |
let proxy = net::SocketAddr::new(net::Ipv4Addr::LOCALHOST.into(), 9050);
|
| - |
let daemon = ([0, 0, 0, 0], fastrand::u16(1025..)).into();
|
| + |
let daemon: net::SocketAddr = {
|
| + |
// Find free port for git-daemon to bind to.
|
| + |
// This is a somewhat racy solution, though it works much better than assigning a random
|
| + |
// port.
|
| + |
let sock = net::TcpListener::bind("0.0.0.0:0").unwrap();
|
| + |
([0, 0, 0, 0], sock.local_addr().unwrap().port()).into()
|
| + |
};
|
| |
let (_, signals) = chan::bounded(1);
|
| |
let rt = Runtime::init(
|
| |
self.home.clone(),
|