Index: net/test/test_server_win.cc |
diff --git a/net/test/test_server_win.cc b/net/test/test_server_win.cc |
index 79eb8dd3c6ebb2bee72b4e3221863d2a50423b60..e1c54e989da1157f924824bc0f229636ac16b16c 100644 |
--- a/net/test/test_server_win.cc |
+++ b/net/test/test_server_win.cc |
@@ -194,15 +194,25 @@ bool TestServer::WaitToStart() { |
ScopedHandle read_fd(child_read_fd_.Take()); |
ScopedHandle write_fd(child_write_fd_.Take()); |
- // Try to read two bytes from the pipe indicating the ephemeral port number. |
- uint16 port = 0; |
- if (!ReadData(read_fd.Get(), write_fd.Get(), sizeof(port), |
- reinterpret_cast<uint8*>(&port))) { |
- LOG(ERROR) << "Could not read port"; |
+ uint32 server_data_len = 0; |
+ if (!ReadData(read_fd.Get(), write_fd.Get(), sizeof(server_data_len), |
+ reinterpret_cast<uint8*>(&server_data_len))) { |
+ LOG(ERROR) << "Could not read server_data_len"; |
+ return false; |
+ } |
+ std::string server_data(server_data_len, '\0'); |
+ if (!ReadData(read_fd.Get(), write_fd.Get(), server_data_len, |
+ reinterpret_cast<uint8*>(&server_data[0]))) { |
+ LOG(ERROR) << "Could not read server_data (" << server_data_len |
+ << " bytes)"; |
+ return false; |
+ } |
+ |
+ if (!ParseServerData(server_data)) { |
+ LOG(ERROR) << "Could not parse server_data: " << server_data; |
return false; |
} |
- host_port_pair_.set_port(port); |
return true; |
} |