##// END OF EJS Templates
thirdparty: remove Python 2-specific selectors2 copy...
Manuel Jacob -
r50175:311fcc5a default
parent child Browse files
Show More
@@ -10,18 +10,12 b' import errno'
10 import gc
10 import gc
11 import os
11 import os
12 import random
12 import random
13 import selectors
13 import signal
14 import signal
14 import socket
15 import socket
15 import struct
16 import struct
16 import traceback
17 import traceback
17
18
18 try:
19 import selectors
20
21 selectors.BaseSelector
22 except ImportError:
23 from .thirdparty import selectors2 as selectors
24
25 from .i18n import _
19 from .i18n import _
26 from .pycompat import getattr
20 from .pycompat import getattr
27 from . import (
21 from . import (
@@ -644,15 +638,7 b' class unixforkingservice:'
644 # waiting for recv() will receive ECONNRESET.
638 # waiting for recv() will receive ECONNRESET.
645 self._unlinksocket()
639 self._unlinksocket()
646 exiting = True
640 exiting = True
647 try:
641 events = selector.select(timeout=h.pollinterval)
648 events = selector.select(timeout=h.pollinterval)
649 except OSError as inst:
650 # selectors2 raises ETIMEDOUT if timeout exceeded while
651 # handling signal interrupt. That's probably wrong, but
652 # we can easily get around it.
653 if inst.errno != errno.ETIMEDOUT:
654 raise
655 events = []
656 if not events:
642 if not events:
657 # only exit if we completed all queued requests
643 # only exit if we completed all queued requests
658 if exiting:
644 if exiting:
@@ -9,18 +9,12 b''
9 import errno
9 import errno
10 import os
10 import os
11 import pickle
11 import pickle
12 import selectors
12 import signal
13 import signal
13 import sys
14 import sys
14 import threading
15 import threading
15 import time
16 import time
16
17
17 try:
18 import selectors
19
20 selectors.BaseSelector
21 except ImportError:
22 from .thirdparty import selectors2 as selectors
23
24 from .i18n import _
18 from .i18n import _
25 from . import (
19 from . import (
26 encoding,
20 encoding,
@@ -304,7 +298,9 b' def _posixworker(ui, func, staticargs, a'
304 yield res
298 yield res
305 except EOFError:
299 except EOFError:
306 selector.unregister(key.fileobj)
300 selector.unregister(key.fileobj)
301 # pytype: disable=attribute-error
307 key.fileobj.close()
302 key.fileobj.close()
303 # pytype: enable=attribute-error
308 openpipes -= 1
304 openpipes -= 1
309 except IOError as e:
305 except IOError as e:
310 if e.errno == errno.EINTR:
306 if e.errno == errno.EINTR:
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (743 lines changed) Show them Hide them
General Comments 0
You need to be logged in to leave comments. Login now