diff options
author | David 'Digit' Turner <digit@google.com> | 2011-01-17 02:04:37 +0100 |
---|---|---|
committer | David 'Digit' Turner <digit@google.com> | 2011-01-19 02:18:40 +0100 |
commit | b59539d395218299f4b4288a26403fedb3d8124c (patch) | |
tree | e09d2098f2039b97971bfa4537337daad82efbe4 /libsysutils/src/NetlinkListener.cpp | |
parent | 3311eea1d3881e6f3d6806988b7db3de0a5f68d5 (diff) | |
download | system_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/src/NetlinkListener.cpp')
-rw-r--r-- | libsysutils/src/NetlinkListener.cpp | 3 |
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; } |