summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authormark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-03 14:10:59 +0000
committermark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-03 14:10:59 +0000
commitd89eec809e2d25aee8d386186653699f5017b15b (patch)
treeb8b0433f5766958907ea4cebb7b954e82fc1148a /net
parent34b5946e889071a9c838a4b87d32437415148fed (diff)
downloadchromium_src-d89eec809e2d25aee8d386186653699f5017b15b.zip
chromium_src-d89eec809e2d25aee8d386186653699f5017b15b.tar.gz
chromium_src-d89eec809e2d25aee8d386186653699f5017b15b.tar.bz2
Don't HANDLE_EINTR(close). Either IGNORE_EINTR(close) or just close.
It is incorrect to wrap close in HANDLE_EINTR on Linux. Correctness is generally undefined on Mac, but as of r223369, it is incorrect in Chrome on Mac. To avoid new offenders, a PRESUBMIT check ensures that HANDLE_EINTR is not used with close, and that IGNORE_EINTR is only used with close. Unnecessary #includes of eintr_wrapper.h are also removed. base/posix/einter_wrapper.h, PRESUBMIT.py, and ppapi/tests/test_broker.cc contain non-mechanical changes. Variable naming within the latter is updated per r178174. Missing #includes for <errno.h> in content/zygote/zygote_main_linux.cc and tools/android/common/daemon.cc were manually added. Mechanical changes were generated by running: sed -E -i '' \ -e 's/((=|if|return|CHECK|EXPECT|ASSERT).*)HANDLE(_EINTR\(.*close)/\1IGNORE\3/' \ -e 's/(ignore_result|void ?)\(HANDLE_EINTR\((.*close\(.*)\)\)/\2/' \ -e 's/(\(void\) ?)?HANDLE_EINTR\((.*close\(.*)\)/\2/' \ $(git grep -El 'HANDLE_EINTR.*close') sed -E -i '' -e '/#include.*eintr_wrapper\.h"/d' \ $(grep -EL '(HANDLE|IGNORE)_EINTR' \ $(git grep -El '#include.*eintr_wrapper\.h"')) BUG=269623 R=agl@chromium.org, jln@chromium.org TBR=OWNERS Review URL: https://codereview.chromium.org/100253002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@238390 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net')
-rw-r--r--net/base/address_tracker_linux.cc2
-rw-r--r--net/base/net_util_posix.cc1
-rw-r--r--net/dns/address_sorter_posix.cc1
-rw-r--r--net/socket/tcp_listen_socket_unittest.cc2
-rw-r--r--net/socket/tcp_socket_libevent.cc4
-rw-r--r--net/socket/unix_domain_socket_posix.cc4
-rw-r--r--net/socket/unix_domain_socket_posix_unittest.cc2
-rw-r--r--net/udp/udp_socket_libevent.cc2
-rw-r--r--net/udp/udp_socket_win.cc1
9 files changed, 8 insertions, 11 deletions
diff --git a/net/base/address_tracker_linux.cc b/net/base/address_tracker_linux.cc
index 886811a..f863ccd 100644
--- a/net/base/address_tracker_linux.cc
+++ b/net/base/address_tracker_linux.cc
@@ -306,7 +306,7 @@ void AddressTrackerLinux::OnFileCanReadWithoutBlocking(int fd) {
void AddressTrackerLinux::OnFileCanWriteWithoutBlocking(int /* fd */) {}
void AddressTrackerLinux::CloseSocket() {
- if (netlink_fd_ >= 0 && HANDLE_EINTR(close(netlink_fd_)) < 0)
+ if (netlink_fd_ >= 0 && IGNORE_EINTR(close(netlink_fd_)) < 0)
PLOG(ERROR) << "Could not close NETLINK socket.";
netlink_fd_ = -1;
}
diff --git a/net/base/net_util_posix.cc b/net/base/net_util_posix.cc
index 4882ff6..4ff3ee9 100644
--- a/net/base/net_util_posix.cc
+++ b/net/base/net_util_posix.cc
@@ -8,7 +8,6 @@
#include "base/files/file_path.h"
#include "base/logging.h"
-#include "base/posix/eintr_wrapper.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/string_tokenizer.h"
#include "base/strings/string_util.h"
diff --git a/net/dns/address_sorter_posix.cc b/net/dns/address_sorter_posix.cc
index c4bf74d..5e2fe94 100644
--- a/net/dns/address_sorter_posix.cc
+++ b/net/dns/address_sorter_posix.cc
@@ -19,7 +19,6 @@
#include "base/logging.h"
#include "base/memory/scoped_vector.h"
-#include "base/posix/eintr_wrapper.h"
#include "net/socket/client_socket_factory.h"
#include "net/udp/datagram_client_socket.h"
diff --git a/net/socket/tcp_listen_socket_unittest.cc b/net/socket/tcp_listen_socket_unittest.cc
index 2410677..41c41f8 100644
--- a/net/socket/tcp_listen_socket_unittest.cc
+++ b/net/socket/tcp_listen_socket_unittest.cc
@@ -73,7 +73,7 @@ void TCPListenSocketTester::TearDown() {
#if defined(OS_WIN)
ASSERT_EQ(0, closesocket(test_socket_));
#elif defined(OS_POSIX)
- ASSERT_EQ(0, HANDLE_EINTR(close(test_socket_)));
+ ASSERT_EQ(0, IGNORE_EINTR(close(test_socket_)));
#endif
NextAction();
ASSERT_EQ(ACTION_CLOSE, last_action_.type());
diff --git a/net/socket/tcp_socket_libevent.cc b/net/socket/tcp_socket_libevent.cc
index ab96afb..f4e4fe8 100644
--- a/net/socket/tcp_socket_libevent.cc
+++ b/net/socket/tcp_socket_libevent.cc
@@ -521,7 +521,7 @@ void TCPSocketLibevent::Close() {
DCHECK(ok);
if (socket_ != kInvalidSocket) {
- if (HANDLE_EINTR(close(socket_)) < 0)
+ if (IGNORE_EINTR(close(socket_)) < 0)
PLOG(ERROR) << "close";
socket_ = kInvalidSocket;
}
@@ -590,7 +590,7 @@ int TCPSocketLibevent::AcceptInternal(scoped_ptr<TCPSocketLibevent>* socket,
IPEndPoint ip_end_point;
if (!ip_end_point.FromSockAddr(storage.addr, storage.addr_len)) {
NOTREACHED();
- if (HANDLE_EINTR(close(new_socket)) < 0)
+ if (IGNORE_EINTR(close(new_socket)) < 0)
PLOG(ERROR) << "close";
net_log_.EndEventWithNetErrorCode(NetLog::TYPE_TCP_ACCEPT,
ERR_ADDRESS_INVALID);
diff --git a/net/socket/unix_domain_socket_posix.cc b/net/socket/unix_domain_socket_posix.cc
index 2b781d5..3141f71 100644
--- a/net/socket/unix_domain_socket_posix.cc
+++ b/net/socket/unix_domain_socket_posix.cc
@@ -130,7 +130,7 @@ SocketDescriptor UnixDomainSocket::CreateAndBind(const std::string& path,
LOG(ERROR) << "Could not bind unix domain socket to " << path;
if (use_abstract_namespace)
LOG(ERROR) << " (with abstract namespace enabled)";
- if (HANDLE_EINTR(close(s)) < 0)
+ if (IGNORE_EINTR(close(s)) < 0)
LOG(ERROR) << "close() error";
return kInvalidSocket;
}
@@ -145,7 +145,7 @@ void UnixDomainSocket::Accept() {
gid_t group_id;
if (!GetPeerIds(conn, &user_id, &group_id) ||
!auth_callback_.Run(user_id, group_id)) {
- if (HANDLE_EINTR(close(conn)) < 0)
+ if (IGNORE_EINTR(close(conn)) < 0)
LOG(ERROR) << "close() error";
return;
}
diff --git a/net/socket/unix_domain_socket_posix_unittest.cc b/net/socket/unix_domain_socket_posix_unittest.cc
index 6520985..b1857e6 100644
--- a/net/socket/unix_domain_socket_posix_unittest.cc
+++ b/net/socket/unix_domain_socket_posix_unittest.cc
@@ -306,7 +306,7 @@ TEST_F(UnixDomainSocketTest, TestWithClient) {
ASSERT_EQ(kMsg, socket_delegate_->ReceivedData());
// Close the client socket.
- ret = HANDLE_EINTR(close(sock));
+ ret = IGNORE_EINTR(close(sock));
event = event_manager_->WaitForEvent();
ASSERT_EQ(EVENT_CLOSE, event);
}
diff --git a/net/udp/udp_socket_libevent.cc b/net/udp/udp_socket_libevent.cc
index 990aa57..7ef9c3c 100644
--- a/net/udp/udp_socket_libevent.cc
+++ b/net/udp/udp_socket_libevent.cc
@@ -83,7 +83,7 @@ void UDPSocketLibevent::Close() {
ok = write_socket_watcher_.StopWatchingFileDescriptor();
DCHECK(ok);
- if (HANDLE_EINTR(close(socket_)) < 0)
+ if (IGNORE_EINTR(close(socket_)) < 0)
PLOG(ERROR) << "close";
socket_ = kInvalidSocket;
diff --git a/net/udp/udp_socket_win.cc b/net/udp/udp_socket_win.cc
index c9f30a7..d2745b9 100644
--- a/net/udp/udp_socket_win.cc
+++ b/net/udp/udp_socket_win.cc
@@ -11,7 +11,6 @@
#include "base/message_loop/message_loop.h"
#include "base/metrics/histogram.h"
#include "base/metrics/stats_counters.h"
-#include "base/posix/eintr_wrapper.h"
#include "base/rand_util.h"
#include "net/base/io_buffer.h"
#include "net/base/ip_endpoint.h"