Don't use TEMP_FAILURE_RETRY on close in system/core.
Bug: http://b/20501816 Change-Id: I1839b48ee4f891b8431ecb809e37a4566a5b3e50
This commit is contained in:
parent
747a6f22cd
commit
47b0134ec2
|
@ -51,7 +51,7 @@ bool ReadFileToString(const std::string& path, std::string* content) {
|
|||
return false;
|
||||
}
|
||||
bool result = ReadFdToString(fd, content);
|
||||
TEMP_FAILURE_RETRY(close(fd));
|
||||
close(fd);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
@ -102,7 +102,7 @@ bool WriteStringToFile(const std::string& content, const std::string& path,
|
|||
ALOGE("android::WriteStringToFile write failed: %s", strerror(errno));
|
||||
return CleanUpAfterFailedWrite(path);
|
||||
}
|
||||
TEMP_FAILURE_RETRY(close(fd));
|
||||
close(fd);
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
|
@ -116,7 +116,7 @@ bool WriteStringToFile(const std::string& content, const std::string& path) {
|
|||
}
|
||||
|
||||
bool result = WriteStringToFd(content, fd);
|
||||
TEMP_FAILURE_RETRY(close(fd));
|
||||
close(fd);
|
||||
return result || CleanUpAfterFailedWrite(path);
|
||||
}
|
||||
|
||||
|
|
|
@ -279,7 +279,7 @@ static bool is32bit(pid_t tid) {
|
|||
|
||||
char ehdr[EI_NIDENT];
|
||||
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) {
|
||||
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)) {
|
||||
ALOGE("Failed to write request to debuggerd32 socket: %s", strerror(errno));
|
||||
TEMP_FAILURE_RETRY(close(sock_fd));
|
||||
close(sock_fd);
|
||||
return;
|
||||
}
|
||||
|
||||
char ack;
|
||||
if (TEMP_FAILURE_RETRY(read(sock_fd, &ack, 1)) == -1) {
|
||||
ALOGE("Failed to read ack from debuggerd32 socket: %s", strerror(errno));
|
||||
TEMP_FAILURE_RETRY(close(sock_fd));
|
||||
close(sock_fd);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -338,7 +338,7 @@ static void redirect_to_32(int fd, debugger_request_t* request) {
|
|||
break;
|
||||
}
|
||||
}
|
||||
TEMP_FAILURE_RETRY(close(sock_fd));
|
||||
close(sock_fd);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -365,7 +365,7 @@ static void handle_request(int fd) {
|
|||
ALOGE("debuggerd: Not allowed to redirect action %d to 32 bit debuggerd\n",
|
||||
request.action);
|
||||
}
|
||||
TEMP_FAILURE_RETRY(close(fd));
|
||||
close(fd);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -203,7 +203,7 @@ int fs_mgr_set_blk_ro(const char *blockdev)
|
|||
}
|
||||
|
||||
rc = ioctl(fd, BLKROSET, &ON);
|
||||
TEMP_FAILURE_RETRY(close(fd));
|
||||
close(fd);
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
|
|
@ -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) {
|
||||
ERROR("Error seeking to superblock");
|
||||
TEMP_FAILURE_RETRY(close(data_device));
|
||||
close(data_device);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (TEMP_FAILURE_RETRY(read(data_device, &sb, sizeof(sb))) != sizeof(sb)) {
|
||||
ERROR("Error reading superblock");
|
||||
TEMP_FAILURE_RETRY(close(data_device));
|
||||
close(data_device);
|
||||
return -1;
|
||||
}
|
||||
|
||||
ext4_parse_sb(&sb, &info);
|
||||
*device_size = info.len;
|
||||
|
||||
TEMP_FAILURE_RETRY(close(data_device));
|
||||
close(data_device);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -301,7 +301,7 @@ static int read_verity_metadata(uint64_t device_size, char *block_device, char *
|
|||
|
||||
out:
|
||||
if (device != -1)
|
||||
TEMP_FAILURE_RETRY(close(device));
|
||||
close(device);
|
||||
|
||||
if (retval != FS_MGR_SETUP_VERITY_SUCCESS) {
|
||||
free(*signature);
|
||||
|
@ -470,7 +470,7 @@ static int check_verity_restart(const char *fname)
|
|||
|
||||
out:
|
||||
if (fd != -1) {
|
||||
TEMP_FAILURE_RETRY(close(fd));
|
||||
close(fd);
|
||||
}
|
||||
|
||||
return rc;
|
||||
|
@ -622,7 +622,7 @@ static int write_verity_state(const char *fname, off64_t offset, int32_t mode)
|
|||
|
||||
out:
|
||||
if (fd != -1) {
|
||||
TEMP_FAILURE_RETRY(close(fd));
|
||||
close(fd);
|
||||
}
|
||||
|
||||
return rc;
|
||||
|
@ -670,7 +670,7 @@ static int read_verity_state(const char *fname, off64_t offset, int *mode)
|
|||
|
||||
out:
|
||||
if (fd != -1) {
|
||||
TEMP_FAILURE_RETRY(close(fd));
|
||||
close(fd);
|
||||
}
|
||||
|
||||
return rc;
|
||||
|
@ -745,7 +745,7 @@ out:
|
|||
free(signature);
|
||||
|
||||
if (fd != -1) {
|
||||
TEMP_FAILURE_RETRY(close(fd));
|
||||
close(fd);
|
||||
}
|
||||
|
||||
return rc;
|
||||
|
@ -913,7 +913,7 @@ out:
|
|||
}
|
||||
|
||||
if (fd) {
|
||||
TEMP_FAILURE_RETRY(close(fd));
|
||||
close(fd);
|
||||
}
|
||||
|
||||
return rc;
|
||||
|
|
|
@ -171,7 +171,7 @@ bool read_file(const char* path, std::string* content) {
|
|||
}
|
||||
|
||||
bool okay = android::base::ReadFdToString(fd, content);
|
||||
TEMP_FAILURE_RETRY(close(fd));
|
||||
close(fd);
|
||||
return okay;
|
||||
}
|
||||
|
||||
|
@ -185,7 +185,7 @@ int write_file(const char* path, const char* content) {
|
|||
if (result == -1) {
|
||||
NOTICE("write_file: Unable to write to '%s': %s\n", path, strerror(errno));
|
||||
}
|
||||
TEMP_FAILURE_RETRY(close(fd));
|
||||
close(fd);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
|
@ -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) {
|
||||
TEMP_FAILURE_RETRY(close(sock_fd));
|
||||
close(sock_fd);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
@ -95,7 +95,7 @@ int dump_backtrace_to_file_timeout(pid_t tid, int fd, int timeout_secs) {
|
|||
break;
|
||||
}
|
||||
}
|
||||
TEMP_FAILURE_RETRY(close(sock_fd));
|
||||
close(sock_fd);
|
||||
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);
|
||||
}
|
||||
}
|
||||
TEMP_FAILURE_RETRY(close(sock_fd));
|
||||
close(sock_fd);
|
||||
return result;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue