[pypy-commit] pypy win32-cleanup2: remove poll() from select for cpython compatability

mattip noreply at buildbot.pypy.org
Mon Apr 9 18:41:29 CEST 2012


Author: Matti Picus <matti.picus at gmail.com>
Branch: win32-cleanup2
Changeset: r54268:774652376acf
Date: 2012-04-09 19:33 +0300
http://bitbucket.org/pypy/pypy/changeset/774652376acf/

Log:	remove poll() from select for cpython compatability

diff --git a/pypy/module/select/__init__.py b/pypy/module/select/__init__.py
--- a/pypy/module/select/__init__.py
+++ b/pypy/module/select/__init__.py
@@ -7,12 +7,17 @@
 class Module(MixedModule):
     appleveldefs = {
     }
-
-    interpleveldefs = {
-        'poll'  : 'interp_select.poll',
-        'select': 'interp_select.select',
-        'error' : 'space.fromcache(interp_select.Cache).w_error'
-    }
+    if sys.platform.startswith('win'):
+        interpleveldefs = {
+            'select': 'interp_select.select',
+            'error' : 'space.fromcache(interp_select.Cache).w_error'
+        }
+    else:    
+        interpleveldefs = {
+            'poll'  : 'interp_select.poll',
+            'select': 'interp_select.select',
+            'error' : 'space.fromcache(interp_select.Cache).w_error'
+        }
 
     if sys.platform.startswith('linux'):
         interpleveldefs['epoll'] = 'interp_epoll.W_Epoll'
diff --git a/pypy/module/select/interp_select.py b/pypy/module/select/interp_select.py
--- a/pypy/module/select/interp_select.py
+++ b/pypy/module/select/interp_select.py
@@ -53,7 +53,6 @@
             except (OverflowError, ValueError):
                 raise OperationError(space.w_ValueError,
                                      space.wrap("math range error"))
-
         try:
             retval = rpoll.poll(self.fddict, timeout)
         except rpoll.PollError, e:
diff --git a/pypy/module/select/test/test_select.py b/pypy/module/select/test/test_select.py
--- a/pypy/module/select/test/test_select.py
+++ b/pypy/module/select/test/test_select.py
@@ -214,6 +214,8 @@
 
     def test_poll(self):
         import select
+        if 'poll' not in dir(select):
+            skip('select.poll not available')
         readend, writeend = self.getpair()
         try:
             class A(object):


More information about the pypy-commit mailing list