summaryrefslogtreecommitdiffstats
path: root/libsysutils
diff options
context:
space:
mode:
authorDavid 'Digit' Turner <digit@google.com>2011-01-17 02:04:37 +0100
committerDavid 'Digit' Turner <digit@google.com>2011-01-19 02:18:40 +0100
commitb59539d395218299f4b4288a26403fedb3d8124c (patch)
treee09d2098f2039b97971bfa4537337daad82efbe4 /libsysutils
parent3311eea1d3881e6f3d6806988b7db3de0a5f68d5 (diff)
downloadsystem_core-b59539d395218299f4b4288a26403fedb3d8124c.zip
system_core-b59539d395218299f4b4288a26403fedb3d8124c.tar.gz
system_core-b59539d395218299f4b4288a26403fedb3d8124c.tar.bz2
libsysutils: Handle EINTR in NetlinkListener
Change-Id: Id881a9ca0f0e54f7c78b3609120bedec00d6671c
Diffstat (limited to 'libsysutils')
-rw-r--r--libsysutils/src/NetlinkListener.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/libsysutils/src/NetlinkListener.cpp b/libsysutils/src/NetlinkListener.cpp
index e2a354e..a4f62c6 100644
--- a/libsysutils/src/NetlinkListener.cpp
+++ b/libsysutils/src/NetlinkListener.cpp
@@ -34,7 +34,8 @@ bool NetlinkListener::onDataAvailable(SocketClient *cli)
int socket = cli->getSocket();
int count;
- if ((count = recv(socket, mBuffer, sizeof(mBuffer), 0)) < 0) {
+ count = TEMP_FAILURE_RETRY(recv(socket, mBuffer, sizeof(mBuffer), 0));
+ if (count < 0) {
SLOGE("recv failed (%s)", strerror(errno));
return false;
}