Index: net/tools/quic/quic_client.cc |
diff --git a/net/tools/quic/quic_client.cc b/net/tools/quic/quic_client.cc |
index 346010f5a503031a5b7ac76b11a52b02a005c7c1..cb2b4087c792d0adb15e3472c87cb8d78755ec2e 100644 |
--- a/net/tools/quic/quic_client.cc |
+++ b/net/tools/quic/quic_client.cc |
@@ -83,6 +83,16 @@ bool QuicClient::Initialize() { |
epoll_server_.set_timeout_in_us(50 * 1000); |
crypto_config_.SetDefaults(); |
+ if (!CreateUDPSocket()) { |
+ return false; |
+ } |
+ |
+ epoll_server_.RegisterFD(fd_, this, kEpollFlags); |
+ initialized_ = true; |
+ return true; |
+} |
+ |
+bool QuicClient::CreateUDPSocket() { |
int address_family = server_address_.GetSockAddrFamily(); |
fd_ = socket(address_family, SOCK_DGRAM | SOCK_NONBLOCK, IPPROTO_UDP); |
if (fd_ < 0) { |
@@ -153,8 +163,6 @@ bool QuicClient::Initialize() { |
LOG(ERROR) << "Unable to get self address. Error: " << strerror(errno); |
} |
- epoll_server_.RegisterFD(fd_, this, kEpollFlags); |
- initialized_ = true; |
return true; |
} |