Rebind locally the globals which can be looked up at shutdown

(to avoid the warnings seen on a buildbot)
This commit is contained in:
Antoine Pitrou 2011-07-09 01:03:00 +02:00
parent 370092071b
commit 71a28a9174
2 changed files with 11 additions and 7 deletions

View File

@ -290,8 +290,8 @@ if win32:
"""
_buffered = b''
def _close(self):
win32.CloseHandle(self._handle)
def _close(self, _CloseHandle=win32.CloseHandle):
_CloseHandle(self._handle)
def _send_bytes(self, buf):
overlapped = win32.WriteFile(self._handle, buf, overlapped=True)
@ -376,13 +376,13 @@ class Connection(_ConnectionBase):
"""
if win32:
def _close(self):
win32.closesocket(self._handle)
def _close(self, _close=win32.closesocket):
_close(self._handle)
_write = win32.send
_read = win32.recv
else:
def _close(self):
os.close(self._handle)
def _close(self, _close=os.close):
_close(self._handle)
_write = os.write
_read = os.read

View File

@ -188,7 +188,11 @@ class Finalize(object):
_finalizer_registry[self._key] = self
def __call__(self, wr=None):
def __call__(self, wr=None,
# Need to bind these locally because the globals can have
# been cleared at shutdown
_finalizer_registry=_finalizer_registry,
sub_debug=sub_debug):
'''
Run the callback unless it has already been called or cancelled
'''