Commits

Armin Rigo  committed 861e498

Fixes

  • Participants
  • Parent commits 25a1c74
  • Branches stm-gc

Comments (0)

Files changed (1)

File pypy/module/transaction/interp_epoll.py

 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
     "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
 )
 
 
             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
         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):