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
This commit is contained in:
Kenny Root 2010-09-14 09:55:22 -07:00
parent 09dd3e57b9
commit f31d2ed1fd
1 changed files with 1 additions and 1 deletions

View File

@ -35,7 +35,7 @@ bool FrameworkListener::onDataAvailable(SocketClient *c) {
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;