From b59539d395218299f4b4288a26403fedb3d8124c Mon Sep 17 00:00:00 2001 From: David 'Digit' Turner Date: Mon, 17 Jan 2011 02:04:37 +0100 Subject: libsysutils: Handle EINTR in NetlinkListener Change-Id: Id881a9ca0f0e54f7c78b3609120bedec00d6671c --- libsysutils/src/NetlinkListener.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'libsysutils') 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; } -- cgit v1.1