Patchwork D1018: selectors2: do not use platform.system()

login
register
mail settings
Submitter phabricator
Date Oct. 12, 2017, 4:37 p.m.
Message ID <51405e235d83ce4c24a0bc6d09c64eec@localhost.localdomain>
Download mbox | patch
Permalink /patch/24792/
State Not Applicable
Headers show

Comments

phabricator - Oct. 12, 2017, 4:37 p.m.
quark updated this revision to Diff 2633.

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D1018?vs=2609&id=2633

REVISION DETAIL
  https://phab.mercurial-scm.org/D1018

AFFECTED FILES
  mercurial/pycompat.py
  mercurial/selectors2.py

CHANGE DETAILS




To: quark, #hg-reviewers, lothiraldan
Cc: lothiraldan, mercurial-devel

Patch

diff --git a/mercurial/selectors2.py b/mercurial/selectors2.py
--- a/mercurial/selectors2.py
+++ b/mercurial/selectors2.py
@@ -29,12 +29,13 @@ 
 import collections
 import errno
 import math
-import platform
 import select
 import socket
 import sys
 import time
 
+from . import pycompat
+
 namedtuple = collections.namedtuple
 Mapping = collections.Mapping
 
@@ -288,7 +289,7 @@ 
     __all__.append('SelectSelector')
 
     # Jython has a different implementation of .fileno() for socket objects.
-    if platform.system() == 'Java':
+    if pycompat.isjython:
         class _JythonSelectorMapping(object):
             """ This is an implementation of _SelectorMapping that is built
             for use specifically with Jython, which does not provide a hashable
@@ -727,7 +728,7 @@ 
     by eventlet, greenlet, and preserve proper behavior. """
     global _DEFAULT_SELECTOR
     if _DEFAULT_SELECTOR is None:
-        if platform.system() == 'Java':  # Platform-specific: Jython
+        if pycompat.isjython:
             _DEFAULT_SELECTOR = JythonSelectSelector
         elif _can_allocate('kqueue'):
             _DEFAULT_SELECTOR = KqueueSelector
diff --git a/mercurial/pycompat.py b/mercurial/pycompat.py
--- a/mercurial/pycompat.py
+++ b/mercurial/pycompat.py
@@ -17,6 +17,7 @@ 
 
 ispy3 = (sys.version_info[0] >= 3)
 ispypy = (r'__pypy__' in sys.builtin_module_names)
+isjython = sys.platform.startswith(r'java')
 
 if not ispy3:
     import cookielib