Index: net/base/listen_socket_unittest.cc |
diff --git a/net/base/listen_socket_unittest.cc b/net/base/listen_socket_unittest.cc |
index b08edc262700ed828b82da95ed3b9aca3cbc0510..7238d5b96476b1791989ea74fcee8d5e3e5b98dc 100644 |
--- a/net/base/listen_socket_unittest.cc |
+++ b/net/base/listen_socket_unittest.cc |
@@ -6,6 +6,7 @@ |
#include <fcntl.h> |
+#include "base/eintr_wrappers.h" |
#include "net/base/net_util.h" |
#include "testing/platform_test.h" |
@@ -57,8 +58,9 @@ void ListenSocketTester::SetUp() { |
client.sin_family = AF_INET; |
client.sin_addr.s_addr = inet_addr(kLoopback); |
client.sin_port = htons(kTestPort); |
- int ret = connect(test_socket_, |
- reinterpret_cast<sockaddr*>(&client), sizeof(client)); |
+ int ret = |
+ HANDLE_EINTR(connect(test_socket_, reinterpret_cast<sockaddr*>(&client), |
+ sizeof(client))); |
ASSERT_NE(ret, SOCKET_ERROR); |
net::SetNonBlocking(test_socket_); |
@@ -154,7 +156,7 @@ int ListenSocketTester::ClearTestSocket() { |
int len_ret = 0; |
int time_out = 0; |
do { |
- int len = recv(test_socket_, buf, kReadBufSize, 0); |
+ int len = HANDLE_EINTR(recv(test_socket_, buf, kReadBufSize, 0)); |
#if defined(OS_WIN) |
if (len == SOCKET_ERROR) { |
int err = WSAGetLastError(); |
@@ -219,7 +221,7 @@ void ListenSocketTester::DidClose(ListenSocket *sock) { |
bool ListenSocketTester::Send(SOCKET sock, const std::string& str) { |
int len = static_cast<int>(str.length()); |
- int send_len = send(sock, str.data(), len, 0); |
+ int send_len = HANDLE_EINTR(send(sock, str.data(), len, 0)); |
if (send_len == SOCKET_ERROR) { |
LOG(ERROR) << "send failed: " << errno; |
return false; |
@@ -273,7 +275,7 @@ void ListenSocketTester::TestServerSend() { |
char buf[buf_len+1]; |
int recv_len; |
do { |
- recv_len = recv(test_socket_, buf, buf_len, 0); |
+ recv_len = HANDLE_EINTR(recv(test_socket_, buf, buf_len, 0)); |
#if defined(OS_POSIX) |
} while (recv_len == SOCKET_ERROR && errno == EINTR); |
#else |