From: xie xingguo Date: Mon, 30 May 2016 12:43:16 +0000 (+0800) Subject: common/admin_socket: fix socket fd leak X-Git-Tag: v11.0.0~166^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=b75b76697ffeb529469562a33d1cc7a4254e45bc;p=ceph.git common/admin_socket: fix socket fd leak Signed-off-by: xie xingguo --- diff --git a/src/common/admin_socket.cc b/src/common/admin_socket.cc index 40fa12fd36f7..28c5620927b7 100644 --- a/src/common/admin_socket.cc +++ b/src/common/admin_socket.cc @@ -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);