diff --git a/libsysutils/src/NetlinkListener.cpp b/libsysutils/src/NetlinkListener.cpp index e2a354e4f..a4f62c69e 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; }