| Index: base/sync_socket_posix.cc
|
| diff --git a/base/sync_socket_posix.cc b/base/sync_socket_posix.cc
|
| index c2020c2ad632f93cabc2fb755608218a9de59ec2..91467b189c72d69ac604130ec7f96dba951faa18 100644
|
| --- a/base/sync_socket_posix.cc
|
| +++ b/base/sync_socket_posix.cc
|
| @@ -63,10 +63,14 @@ bool SyncSocket::CreatePair(SyncSocket* pair[2]) {
|
| return true;
|
|
|
| cleanup:
|
| - if (handles[0] != kInvalidHandle)
|
| - (void) close(handles[0]);
|
| - if (handles[1] != kInvalidHandle)
|
| - (void) close(handles[1]);
|
| + if (handles[0] != kInvalidHandle) {
|
| + if (HANDLE_EINTR(close(handles[0])) < 0)
|
| + PLOG(ERROR) << "close";
|
| + }
|
| + if (handles[1] != kInvalidHandle) {
|
| + if (HANDLE_EINTR(close(handles[1])) < 0)
|
| + PLOG(ERROR) << "close";
|
| + }
|
| delete tmp_sockets[0];
|
| delete tmp_sockets[1];
|
| return false;
|
| @@ -76,7 +80,9 @@ bool SyncSocket::Close() {
|
| if (handle_ == kInvalidHandle) {
|
| return false;
|
| }
|
| - int retval = close(handle_);
|
| + int retval = HANDLE_EINTR(close(handle_));
|
| + if (retval < 0)
|
| + PLOG(ERROR) << "close";
|
| handle_ = kInvalidHandle;
|
| return (retval == 0);
|
| }
|
|
|