Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8795007a authored by Vernon Tang's avatar Vernon Tang
Browse files

libsysutils: SocketListener: handle recv errors more gracefully.

Don't close the socket when onDataAvailable returns false if the socket
is connectionless.

Change-Id: Ie19497f5928144c463d92aa72ba517e675549ea6
parent 2f7995ee
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -213,8 +213,9 @@ void SocketListener::runListener() {
            it = pendingList->begin();
            SocketClient* c = *it;
            pendingList->erase(it);
            /* Process it, if false is returned, remove and destroy it */
            if (!onDataAvailable(c)) {
            /* Process it, if false is returned and our sockets are
             * connection-based, remove and destroy it */
            if (!onDataAvailable(c) && mListen) {
                /* Remove the client from our array */
                pthread_mutex_lock(&mClientsLock);
                for (it = mClients->begin(); it != mClients->end(); ++it) {