]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr: close restful socket after exec 32396/head
authorliushi <liu.shi@navercorp.com>
Mon, 23 Dec 2019 09:09:29 +0000 (17:09 +0800)
committerliushi <liu.shi@navercorp.com>
Mon, 23 Dec 2019 09:09:29 +0000 (17:09 +0800)
Signed-off-by: liushi <liu.shi@navercorp.com>
src/pybind/mgr/restful/module.py

index 0f8257b7bed397766e8be23dd615a6fa54cd34e8..098258b06ff503a4180e14c56b0496c89cf648b7 100644 (file)
@@ -13,6 +13,7 @@ import threading
 import traceback
 import six
 import socket
+import fcntl
 
 from . import common
 from . import context
@@ -331,6 +332,10 @@ class Module(MgrModule):
             ),
             ssl_context=(cert_fname, pkey_fname),
         )
+        sock_fd_flag = fcntl.fcntl(self.server.socket.fileno(), fcntl.F_GETFD)
+        if not (sock_fd_flag & fcntl.FD_CLOEXEC):
+            self.log.debug("set server socket close-on-exec")
+            fcntl.fcntl(self.server.socket.fileno(), fcntl.F_SETFD, sock_fd_flag | fcntl.FD_CLOEXEC)
         if self.stop_server:
             self.log.debug('made server, but stop flag set')
         else: