Move adding sockets to write set to SocketManager main loop
authorLukasz Wojciechowski <l.wojciechow@partner.samsung.com>
Wed, 25 Jun 2014 18:07:18 +0000 (20:07 +0200)
committerRafal Krypa <r.krypa@samsung.com>
Thu, 3 Jul 2014 12:19:09 +0000 (14:19 +0200)
Change-Id: Id06b23612992e9c134b69e42746f2af44eb0a8ec

src/service/sockets/SocketManager.cpp

index bd5e138..a8078fc 100644 (file)
@@ -103,6 +103,8 @@ void SocketManager::mainLoop(void) {
                     readyForWrite(i);
                     --ret;
                 }
+                if (m_fds[i].isUsed() && m_fds[i].hasDataToWrite())
+                    addWriteSocket(i);
             }
         }
     }
@@ -224,9 +226,6 @@ bool SocketManager::handleRead(int fd, const RawBuffer &readbuffer) {
             LOGD("request extracted");
             try {
                 req->execute(RequestContext(fd, desc.responseTaker(), desc.writeQueue()));
-
-                if (desc.hasDataToWrite())
-                    addWriteSocket(fd);
             } catch (const NoResponseGeneratedException &ex) {
                 LOGD("no response generated");
             }