summaryrefslogtreecommitdiffstats
path: root/tools/android/forwarder
diff options
context:
space:
mode:
authormichaelbai@chromium.org <michaelbai@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-09-07 18:56:21 +0000
committermichaelbai@chromium.org <michaelbai@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-09-07 18:56:21 +0000
commit60d934797efb983bc84c436610c6f199dba67481 (patch)
treef8a64bd2b31e45c4a5f04c0440d2e0a715847699 /tools/android/forwarder
parentda43c08ba42f2a1e1a36b627116f43c38d3824b0 (diff)
downloadchromium_src-60d934797efb983bc84c436610c6f199dba67481.zip
chromium_src-60d934797efb983bc84c436610c6f199dba67481.tar.gz
chromium_src-60d934797efb983bc84c436610c6f199dba67481.tar.bz2
Make tools/android code built with clang
BUG=143931 Review URL: https://chromiumcodereview.appspot.com/10912135 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155439 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'tools/android/forwarder')
-rw-r--r--tools/android/forwarder/forwarder.cc20
1 files changed, 14 insertions, 6 deletions
diff --git a/tools/android/forwarder/forwarder.cc b/tools/android/forwarder/forwarder.cc
index e8cee3fb..0197b29 100644
--- a/tools/android/forwarder/forwarder.cc
+++ b/tools/android/forwarder/forwarder.cc
@@ -28,6 +28,14 @@ namespace {
const pthread_t kInvalidThread = static_cast<pthread_t>(-1);
volatile bool g_killed = false;
+void CloseSocket(int fd) {
+ if (fd >= 0) {
+ int old_errno = errno;
+ (void) HANDLE_EINTR(close(fd));
+ errno = old_errno;
+ }
+}
+
class Buffer {
public:
Buffer()
@@ -237,8 +245,8 @@ void* ForwarderThread(void* arg) {
}
}
- HANDLE_EINTR(close(socket1));
- HANDLE_EINTR(close(socket2));
+ CloseSocket(socket1);
+ CloseSocket(socket2);
server->DisposeForwarderInfo(index);
return NULL;
}
@@ -286,11 +294,11 @@ void* Server::ServerThread(void* arg) {
new ForwarderThreadInfo(server, forwarder_index));
} else {
// Close the unused client socket which is failed to connect to host.
- HANDLE_EINTR(close(socket));
+ CloseSocket(socket);
}
}
- HANDLE_EINTR(close(server->socket_));
+ CloseSocket(server->socket_);
server->socket_ = -1;
return NULL;
}
@@ -328,7 +336,7 @@ bool Server::InitSocket(const char* arg) {
sizeof(addr))) < 0 ||
HANDLE_EINTR(listen(socket_, 5)) < 0) {
perror("server bind");
- HANDLE_EINTR(close(socket_));
+ CloseSocket(socket_);
socket_ = -1;
return false;
}
@@ -338,7 +346,7 @@ bool Server::InitSocket(const char* arg) {
if (getsockname(socket_, reinterpret_cast<sockaddr*>(&addr), &addrlen)
!= 0) {
perror("get listen address");
- HANDLE_EINTR(close(socket_));
+ CloseSocket(socket_);
socket_ = -1;
return false;
}