[PATCH 3 of 8] commandserver: remove redundant "if True" block

Yuya Nishihara yuya at tcha.org
Thu Dec 6 07:45:10 EST 2018


# HG changeset patch
# User Yuya Nishihara <yuya at tcha.org>
# Date 1540990987 -32400
#      Wed Oct 31 22:03:07 2018 +0900
# Node ID 92023422fbe3cf05e6d25b8213bd1e5a749c8e98
# Parent  c9533007e0e09fe8129b46208dbb760ff8799a88
commandserver: remove redundant "if True" block

diff --git a/mercurial/commandserver.py b/mercurial/commandserver.py
--- a/mercurial/commandserver.py
+++ b/mercurial/commandserver.py
@@ -570,35 +570,34 @@ class unixforkingservice(object):
 
     def _acceptnewconnection(self, sock, selector):
         h = self._servicehandler
-        if True:
+        try:
+            conn, _addr = sock.accept()
+        except socket.error as inst:
+            if inst.args[0] == errno.EINTR:
+                return
+            raise
+
+        pid = os.fork()
+        if pid:
             try:
-                conn, _addr = sock.accept()
-            except socket.error as inst:
-                if inst.args[0] == errno.EINTR:
-                    return
-                raise
-
-            pid = os.fork()
-            if pid:
+                self.ui.log(b'cmdserver', b'forked worker process (pid=%d)\n',
+                            pid)
+                self._workerpids.add(pid)
+                h.newconnection()
+            finally:
+                conn.close()  # release handle in parent process
+        else:
+            try:
+                selector.close()
+                sock.close()
+                self._runworker(conn)
+                conn.close()
+                os._exit(0)
+            except:  # never return, hence no re-raises
                 try:
-                    self.ui.log(b'cmdserver',
-                                b'forked worker process (pid=%d)\n', pid)
-                    self._workerpids.add(pid)
-                    h.newconnection()
+                    self.ui.traceback(force=True)
                 finally:
-                    conn.close()  # release handle in parent process
-            else:
-                try:
-                    selector.close()
-                    sock.close()
-                    self._runworker(conn)
-                    conn.close()
-                    os._exit(0)
-                except:  # never return, hence no re-raises
-                    try:
-                        self.ui.traceback(force=True)
-                    finally:
-                        os._exit(255)
+                    os._exit(255)
 
     def _sigchldhandler(self, signal, frame):
         self._reapworkers(os.WNOHANG)


More information about the Mercurial-devel mailing list