Ticket #5522: unbuild-reactor.patch
| File unbuild-reactor.patch, 2.1 KB (added by exarkun, 15 months ago) |
|---|
-
twisted/internet/test/reactormixins.py
15 15 from twisted.python.reflect import namedAny, fullyQualifiedName 16 16 from twisted.python import log 17 17 from twisted.python.failure import Failure 18 from twisted.internet.interfaces import IReactorTime 18 19 19 20 # Access private APIs. 20 21 if platform.isWindows(): … … 77 78 "twisted.internet.kqreactor.KQueueReactor", 78 79 ]) 79 80 81 _reactors = ["twisted.internet.epollstmreactor.EPollSTMReactor"] 82 80 83 reactorFactory = None 81 84 originalHandler = None 82 85 requiredInterfaces = None … … 120 123 # branch that fixes it. 121 124 # 122 125 # -exarkun 126 uninstallHandler = getattr(reactor, '_uninstallHandler', None) 127 if uninstallHandler is not None: 128 uninstallHandler() 129 123 130 reactor._uninstallHandler() 124 131 if getattr(reactor, '_internalReaders', None) is not None: 125 132 for reader in reactor._internalReaders: … … 127 134 reader.connectionLost(None) 128 135 reactor._internalReaders.clear() 129 136 130 # Here's an extra thing unrelated to wakers but necessary for 131 # cleaning up after the reactors we make. -exarkun 132 reactor.disconnectAll() 137 disconnectAll = getattr(reactor, 'disconnectAll', None) 138 if disconnectAll is not None: 139 # Here's an extra thing unrelated to wakers but necessary for 140 # cleaning up after the reactors we make. -exarkun 141 disconnectAll() 133 142 134 # It would also be bad if any timed calls left over were allowed to 135 # run. 136 calls = reactor.getDelayedCalls() 137 for c in calls: 138 c.cancel() 143 if IReactorTime.providedBy(reactor): 144 # It would also be bad if any timed calls left over were allowed to 145 # run. 146 calls = reactor.getDelayedCalls() 147 for c in calls: 148 c.cancel() 139 149 140 150 141 151 def buildReactor(self):
