Don't use TEMP_FAILURE_RETRY on close in system/core.

Bug: http://b/20501816
Change-Id: I1839b48ee4f891b8431ecb809e37a4566a5b3e50
(cherry picked from commit 47b0134ec2)
This commit is contained in:
Elliott Hughes 2015-05-15 19:16:40 -07:00
parent 93f6cba3ea
commit 9fc8343772
5 changed files with 20 additions and 20 deletions

View file

@ -279,7 +279,7 @@ static bool is32bit(pid_t tid) {
char ehdr[EI_NIDENT]; char ehdr[EI_NIDENT];
ssize_t bytes = TEMP_FAILURE_RETRY(read(fd, &ehdr, sizeof(ehdr))); ssize_t bytes = TEMP_FAILURE_RETRY(read(fd, &ehdr, sizeof(ehdr)));
TEMP_FAILURE_RETRY(close(fd)); close(fd);
if (bytes != (ssize_t) sizeof(ehdr) || memcmp(ELFMAG, ehdr, SELFMAG) != 0) { if (bytes != (ssize_t) sizeof(ehdr) || memcmp(ELFMAG, ehdr, SELFMAG) != 0) {
return false; return false;
} }
@ -304,14 +304,14 @@ static void redirect_to_32(int fd, debugger_request_t* request) {
if (TEMP_FAILURE_RETRY(write(sock_fd, &msg, sizeof(msg))) != (ssize_t) sizeof(msg)) { if (TEMP_FAILURE_RETRY(write(sock_fd, &msg, sizeof(msg))) != (ssize_t) sizeof(msg)) {
ALOGE("Failed to write request to debuggerd32 socket: %s", strerror(errno)); ALOGE("Failed to write request to debuggerd32 socket: %s", strerror(errno));
TEMP_FAILURE_RETRY(close(sock_fd)); close(sock_fd);
return; return;
} }
char ack; char ack;
if (TEMP_FAILURE_RETRY(read(sock_fd, &ack, 1)) == -1) { if (TEMP_FAILURE_RETRY(read(sock_fd, &ack, 1)) == -1) {
ALOGE("Failed to read ack from debuggerd32 socket: %s", strerror(errno)); ALOGE("Failed to read ack from debuggerd32 socket: %s", strerror(errno));
TEMP_FAILURE_RETRY(close(sock_fd)); close(sock_fd);
return; return;
} }
@ -338,7 +338,7 @@ static void redirect_to_32(int fd, debugger_request_t* request) {
break; break;
} }
} }
TEMP_FAILURE_RETRY(close(sock_fd)); close(sock_fd);
} }
#endif #endif
@ -365,7 +365,7 @@ static void handle_request(int fd) {
ALOGE("debuggerd: Not allowed to redirect action %d to 32 bit debuggerd\n", ALOGE("debuggerd: Not allowed to redirect action %d to 32 bit debuggerd\n",
request.action); request.action);
} }
TEMP_FAILURE_RETRY(close(fd)); close(fd);
return; return;
} }
#endif #endif

View file

@ -206,7 +206,7 @@ int fs_mgr_set_blk_ro(const char *blockdev)
} }
rc = ioctl(fd, BLKROSET, &ON); rc = ioctl(fd, BLKROSET, &ON);
TEMP_FAILURE_RETRY(close(fd)); close(fd);
return rc; return rc;
} }

View file

@ -169,20 +169,20 @@ static int ext4_get_target_device_size(char *blk_device, uint64_t *device_size)
if (TEMP_FAILURE_RETRY(lseek64(data_device, 1024, SEEK_SET)) < 0) { if (TEMP_FAILURE_RETRY(lseek64(data_device, 1024, SEEK_SET)) < 0) {
ERROR("Error seeking to superblock"); ERROR("Error seeking to superblock");
TEMP_FAILURE_RETRY(close(data_device)); close(data_device);
return -1; return -1;
} }
if (TEMP_FAILURE_RETRY(read(data_device, &sb, sizeof(sb))) != sizeof(sb)) { if (TEMP_FAILURE_RETRY(read(data_device, &sb, sizeof(sb))) != sizeof(sb)) {
ERROR("Error reading superblock"); ERROR("Error reading superblock");
TEMP_FAILURE_RETRY(close(data_device)); close(data_device);
return -1; return -1;
} }
ext4_parse_sb(&sb, &info); ext4_parse_sb(&sb, &info);
*device_size = info.len; *device_size = info.len;
TEMP_FAILURE_RETRY(close(data_device)); close(data_device);
return 0; return 0;
} }
@ -301,7 +301,7 @@ static int read_verity_metadata(uint64_t device_size, char *block_device, char *
out: out:
if (device != -1) if (device != -1)
TEMP_FAILURE_RETRY(close(device)); close(device);
if (retval != FS_MGR_SETUP_VERITY_SUCCESS) { if (retval != FS_MGR_SETUP_VERITY_SUCCESS) {
free(*signature); free(*signature);
@ -470,7 +470,7 @@ static int check_verity_restart(const char *fname)
out: out:
if (fd != -1) { if (fd != -1) {
TEMP_FAILURE_RETRY(close(fd)); close(fd);
} }
return rc; return rc;
@ -622,7 +622,7 @@ static int write_verity_state(const char *fname, off64_t offset, int32_t mode)
out: out:
if (fd != -1) { if (fd != -1) {
TEMP_FAILURE_RETRY(close(fd)); close(fd);
} }
return rc; return rc;
@ -670,7 +670,7 @@ static int read_verity_state(const char *fname, off64_t offset, int *mode)
out: out:
if (fd != -1) { if (fd != -1) {
TEMP_FAILURE_RETRY(close(fd)); close(fd);
} }
return rc; return rc;
@ -745,7 +745,7 @@ out:
free(signature); free(signature);
if (fd != -1) { if (fd != -1) {
TEMP_FAILURE_RETRY(close(fd)); close(fd);
} }
return rc; return rc;
@ -913,7 +913,7 @@ out:
} }
if (fd) { if (fd) {
TEMP_FAILURE_RETRY(close(fd)); close(fd);
} }
return rc; return rc;

View file

@ -170,7 +170,7 @@ bool read_file(const char* path, std::string* content) {
} }
bool okay = android::base::ReadFdToString(fd, content); bool okay = android::base::ReadFdToString(fd, content);
TEMP_FAILURE_RETRY(close(fd)); close(fd);
return okay; return okay;
} }
@ -184,7 +184,7 @@ int write_file(const char* path, const char* content) {
if (result == -1) { if (result == -1) {
NOTICE("write_file: Unable to write to '%s': %s\n", path, strerror(errno)); NOTICE("write_file: Unable to write to '%s': %s\n", path, strerror(errno));
} }
TEMP_FAILURE_RETRY(close(fd)); close(fd);
return result; return result;
} }

View file

@ -68,7 +68,7 @@ static int make_dump_request(debugger_action_t action, pid_t tid, int timeout_se
} }
if (send_request(sock_fd, &msg, sizeof(msg)) < 0) { if (send_request(sock_fd, &msg, sizeof(msg)) < 0) {
TEMP_FAILURE_RETRY(close(sock_fd)); close(sock_fd);
return -1; return -1;
} }
@ -95,7 +95,7 @@ int dump_backtrace_to_file_timeout(pid_t tid, int fd, int timeout_secs) {
break; break;
} }
} }
TEMP_FAILURE_RETRY(close(sock_fd)); close(sock_fd);
return result; return result;
} }
@ -124,6 +124,6 @@ int dump_tombstone_timeout(pid_t tid, char* pathbuf, size_t pathlen, int timeout
memcpy(pathbuf, buffer, n + 1); memcpy(pathbuf, buffer, n + 1);
} }
} }
TEMP_FAILURE_RETRY(close(sock_fd)); close(sock_fd);
return result; return result;
} }