Use unique_ptr for request handling
authorLukasz Wojciechowski <l.wojciechow@partner.samsung.com>
Fri, 20 Jun 2014 12:59:53 +0000 (14:59 +0200)
committerRafal Krypa <r.krypa@samsung.com>
Thu, 3 Jul 2014 12:19:09 +0000 (14:19 +0200)
Change-Id: Ib39099fb34e192b11d1c38c9fd89cd895e97b7da

src/service/sockets/SocketManager.cpp

index 7e7c079..0a2a5be 100644 (file)
@@ -22,6 +22,7 @@
 
 #include <errno.h>
 #include <fcntl.h>
+#include <memory>
 #include <sys/select.h>
 #include <sys/socket.h>
 #include <sys/stat.h>
@@ -214,15 +215,14 @@ bool SocketManager::handleRead(int fd, const RawBuffer &readbuffer) {
     desc.pushReadBuffer(readbuffer);
 
     try {
-        Request *req = nullptr;
+        std::unique_ptr<Request> req(nullptr);
         for (;;) {
-            req = desc.extractRequest();
-            if (!req)
+            req.reset(desc.extractRequest());
+            if (req)
                 break;
 
             LOGD("request extracted");
             req->execute(Cynara::getLogic(), fd);
-            delete req;
 
             if (desc.hasDataToWrite())
                     addWriteSocket(fd);