X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=e2reactor.py;h=4f069f91622c52717e281f37a1684aa1087f0618;hp=7caeb7f154bcccc82586f1657e471cc393844642;hb=6d87184b8fa7ebe005e5ba19fb311b9e505a72f8;hpb=c9c1118e12d2e2402d3b2e4eb954d1379da4e160;ds=sidebyside diff --git a/e2reactor.py b/e2reactor.py index 7caeb7f..4f069f9 100644 --- a/e2reactor.py +++ b/e2reactor.py @@ -27,6 +27,7 @@ POLL_DISCONNECTED = (select.POLLHUP | select.POLLERR | select.POLLNVAL) class E2SharedPoll: def __init__(self): self.dict = { } + self.eApp = getApplication() def register(self, fd, eventmask = select.POLLIN | select.POLLERR | select.POLLOUT): self.dict[fd] = eventmask @@ -35,7 +36,7 @@ class E2SharedPoll: del self.dict[fd] def poll(self, timeout = None): - r = getApplication().poll(timeout, self.dict) + r = self.eApp.poll(timeout, self.dict) return r poller = E2SharedPoll() @@ -58,7 +59,8 @@ class PollReactor(posixbase.PosixReactorBase): else: if selectables.has_key(fd): del selectables[fd] - getApplication().interruptPoll() + + poller.eApp.interruptPoll() def _dictRemove(self, selectable, mdict): try: @@ -188,7 +190,7 @@ class PollReactor(posixbase.PosixReactorBase): self._disconnectSelectable(selectable, why, inRead) def callLater(self, *args, **kwargs): - getApplication().interruptPoll() + poller.eApp.interruptPoll() return posixbase.PosixReactorBase.callLater(self, *args, **kwargs) def install():