mercurial/commandserver.py
changeset 33503 27d23fe32887
parent 33499 0407a51b9d8c
child 33506 8a1a7935c047
--- a/mercurial/commandserver.py	Fri Jul 14 20:19:46 2017 -0700
+++ b/mercurial/commandserver.py	Fri Jul 14 20:26:21 2017 -0700
@@ -22,6 +22,7 @@
     encoding,
     error,
     pycompat,
+    selectors2,
     util,
 )
 
@@ -476,6 +477,8 @@
     def _mainloop(self):
         exiting = False
         h = self._servicehandler
+        selector = selectors2.DefaultSelector()
+        selector.register(self._sock, selectors2.EVENT_READ)
         while True:
             if not exiting and h.shouldexit():
                 # clients can no longer connect() to the domain socket, so
@@ -486,7 +489,7 @@
                 self._unlinksocket()
                 exiting = True
             try:
-                ready = select.select([self._sock], [], [], h.pollinterval)[0]
+                ready = selector.select(timeout=h.pollinterval)
                 if not ready:
                     # only exit if we completed all queued requests
                     if exiting: