| 569 | } |
| 570 | |
| 571 | Status GetRandomPort(const string& address, uint16_t* port) { |
| 572 | Sockaddr sockaddr; |
| 573 | sockaddr.ParseString(address, 0); |
| 574 | Socket listener; |
| 575 | RETURN_NOT_OK(listener.Init(sockaddr.family(), 0)); |
| 576 | RETURN_NOT_OK(listener.Bind(sockaddr)); |
| 577 | Sockaddr listen_address; |
| 578 | RETURN_NOT_OK(listener.GetSocketAddress(&listen_address)); |
| 579 | *port = listen_address.port(); |
| 580 | return Status::OK(); |
| 581 | } |
| 582 | |
| 583 | void TryRunLsof(const Sockaddr& addr, vector<string>* log) { |
| 584 | #if defined(__APPLE__) |