[pypy-commit] pypy stm-gc: Fixes

arigo noreply at buildbot.pypy.org
Sat Feb 11 16:26:39 CET 2012


Author: Armin Rigo <arigo at tunes.org>
Branch: stm-gc
Changeset: r52373:861e498d1d52
Date: 2012-02-11 16:26 +0100
http://bitbucket.org/pypy/pypy/changeset/861e498d1d52/

Log:	Fixes

diff --git a/pypy/module/transaction/interp_epoll.py b/pypy/module/transaction/interp_epoll.py
--- a/pypy/module/transaction/interp_epoll.py
+++ b/pypy/module/transaction/interp_epoll.py
@@ -11,7 +11,7 @@
 from pypy.module.select.interp_epoll import W_Epoll, FD_SETSIZE
 from pypy.module.select.interp_epoll import epoll_event
 from pypy.module.transaction import interp_transaction
-from pypy.rlib import rposix
+from pypy.rlib import rstm, rposix
 
 
 # a _nowrapper version, to be sure that it does not allocate anything
@@ -19,8 +19,8 @@
     "epoll_wait",
     [rffi.INT, lltype.Ptr(rffi.CArray(epoll_event)), rffi.INT, rffi.INT],
     rffi.INT,
-    compilation_info=eci,
-    _nowrapper=True
+    compilation_info = interp_epoll.eci,
+    _nowrapper = True
 )
 
 
@@ -54,6 +54,8 @@
             if errno == EINTR:
                 nfds = 0    # ignore, just wait for more later
             else:
+                # unsure how to trigger this case
+                state = interp_transaction.state
                 state.got_exception_errno = errno
                 state.must_reraise_exception(_reraise_from_errno)
                 return
@@ -65,6 +67,8 @@
         self.nfds = nfds
         rstm.perform_transaction(EPollPending._add_real_transactions,
                                  EPollPending, self)
+        # XXX could be avoided in the common case with some pool of
+        # PendingCallback instances
 
     @staticmethod
     def _add_real_transactions(self, retry_counter):


More information about the pypy-commit mailing list