Use PLOG and TEMP_FAILURE_RETRY for uevent socket errors
Use TEMP_FAILURE_RETRY() for recvmsg() to prevent failing unnecessarily from EINTR. Use PLOG(ERROR) in ueventd to display the actual error if reading from the uevent socket does fail. Test: build Change-Id: I64a22698ce6ffc7573f75b57803551c7b6940e30
This commit is contained in:
parent
47cdf6c078
commit
edad2bf9b6
2 changed files with 2 additions and 2 deletions
|
@ -100,7 +100,7 @@ bool UeventListener::ReadUevent(Uevent* uevent) const {
|
|||
int n = uevent_kernel_multicast_recv(device_fd_, msg, UEVENT_MSG_LEN);
|
||||
if (n <= 0) {
|
||||
if (errno != EAGAIN && errno != EWOULDBLOCK) {
|
||||
LOG(ERROR) << "Error reading from Uevent Fd";
|
||||
PLOG(ERROR) << "Error reading from Uevent Fd";
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -60,7 +60,7 @@ ssize_t uevent_kernel_recv(int socket, void* buffer, size_t length, bool require
|
|||
struct ucred* cred;
|
||||
|
||||
*uid = -1;
|
||||
ssize_t n = recvmsg(socket, &hdr, 0);
|
||||
ssize_t n = TEMP_FAILURE_RETRY(recvmsg(socket, &hdr, 0));
|
||||
if (n <= 0) {
|
||||
return n;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue