Merge remote-tracking branch 'remotes/origin/bug_599_picload_fd_leak'
[vuplus_dvbapp] / lib / python / Plugins / Extensions / SocketMMI / src / socket_mmi.cpp
index 36ce9f4..9a69de3 100644 (file)
@@ -118,18 +118,18 @@ eAutoInitP0<eSocket_UI> init_socketui(eAutoInitNumbers::rc, "Socket MMI");
 
 int eSocketMMIHandler::send_to_mmisock( void* buf, size_t len)
 {
-       int ret = write(connfd, buf, len);
+       ssize_t ret = write(connfd, buf, len);
        if ( ret < 0 )
                eDebug("[eSocketMMIHandler] write (%m)");
-       else if ( (uint)ret != len )
-               eDebug("[eSocketMMIHandler] only %d bytes sent.. %d bytes should be sent", ret, len );
+       else if ( (size_t)ret != len )
+               eDebug("[eSocketMMIHandler] only %zd bytes sent.. %zu bytes should be sent", ret, len );
        else
                return 0;
        return ret;
 }
 
 eSocketMMIHandler::eSocketMMIHandler()
-       :buffer(512), connfd(-1), connsn(0), sockname("/tmp/mmi.socket"), name(0)
+       :buffer(512), connfd(-1), sockname("/tmp/mmi.socket"), name(0)
 {
        memset(&servaddr, 0, sizeof(struct sockaddr_un));
        servaddr.sun_family = AF_UNIX;
@@ -154,7 +154,7 @@ eSocketMMIHandler::eSocketMMIHandler()
        else if (listen(listenfd, 0) == -1)
                eDebug("[eSocketMMIHandler] listen (%m)");
        else {
-               listensn = new eSocketNotifier( eApp, listenfd, POLLIN );
+               listensn = eSocketNotifier::create( eApp, listenfd, POLLIN );
                listensn->start();
                CONNECT( listensn->activated, eSocketMMIHandler::listenDataAvail );
                eDebug("[eSocketMMIHandler] created successfully");
@@ -186,7 +186,7 @@ void eSocketMMIHandler::listenDataAvail(int what)
                else if (fcntl(connfd, F_SETFL, val | O_NONBLOCK) == -1)
                        eDebug("[eSocketMMIHandler] F_SETFL (%m)");
                else {
-                       connsn = new eSocketNotifier( eApp, connfd, POLLIN|POLLHUP|POLLERR );
+                       connsn = eSocketNotifier::create( eApp, connfd, POLLIN|POLLHUP|POLLERR );
                        CONNECT( connsn->activated, eSocketMMIHandler::connDataAvail );
                        return;
                }
@@ -294,11 +294,7 @@ void eSocketMMIHandler::closeConn()
                close(connfd);
                connfd=-1;
        }
-       if ( connsn )
-       {
-               delete connsn;
-               connsn=0;
-       }
+       connsn=0;
        if ( name )
        {
                delete [] name;
@@ -309,7 +305,6 @@ void eSocketMMIHandler::closeConn()
 eSocketMMIHandler::~eSocketMMIHandler()
 {
        closeConn();
-       delete listensn;
        unlink(sockname);
 }