]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
common/admin_socket: fix socket fd leak 9397/head
authorxie xingguo <xie.xingguo@zte.com.cn>
Mon, 30 May 2016 12:43:16 +0000 (20:43 +0800)
committerxie xingguo <xie.xingguo@zte.com.cn>
Mon, 30 May 2016 12:43:16 +0000 (20:43 +0800)
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
src/common/admin_socket.cc

index 40fa12fd36f7cbe8fb1784ae3bc6544cd782ef46..28c5620927b79b11ba2155f79d37b0403f157148 100644 (file)
@@ -322,7 +322,7 @@ bool AdminSocket::do_accept()
     if (ret <= 0) {
       lderr(m_cct) << "AdminSocket: error reading request code: "
                   << cpp_strerror(ret) << dendl;
-      close(connection_fd);
+      VOID_TEMP_FAILURE_RETRY(close(connection_fd));
       return false;
     }
     //ldout(m_cct, 0) << "AdminSocket read byte " << (int)cmd[pos] << " pos " << pos << dendl;
@@ -365,6 +365,7 @@ bool AdminSocket::do_accept()
   cmdvec.push_back(cmd);
   if (!cmdmap_from_json(cmdvec, &cmdmap, errss)) {
     ldout(m_cct, 0) << "AdminSocket: " << errss.rdbuf() << dendl;
+    VOID_TEMP_FAILURE_RETRY(close(connection_fd));
     return false;
   }
   cmd_getval(m_cct, cmdmap, "format", format);