Return false on socket read error
FrameworkListener was returning the errno from a function marked as
returning bool which caused an implicit conversion to true since we were
in an error block where errno was set to something non-zero.
This caused the clients that had errors to stick around forever and not
get removed from the set of file descriptors that SocketListener was
listening to.
Change-Id: Ia27a4cac47459f3a3c2bb6a7f66803a3165c894a
diff --git a/libsysutils/src/FrameworkListener.cpp b/libsysutils/src/FrameworkListener.cpp
index 80f678d..640b6df 100644
--- a/libsysutils/src/FrameworkListener.cpp
+++ b/libsysutils/src/FrameworkListener.cpp
@@ -35,7 +35,7 @@
if ((len = read(c->getSocket(), buffer, sizeof(buffer) -1)) < 0) {
SLOGE("read() failed (%s)", strerror(errno));
- return errno;
+ return false;
} else if (!len)
return false;