]> granicus.if.org Git - python/commitdiff
Rebind locally the globals which can be looked up at shutdown
authorAntoine Pitrou <solipsis@pitrou.net>
Fri, 8 Jul 2011 23:03:00 +0000 (01:03 +0200)
committerAntoine Pitrou <solipsis@pitrou.net>
Fri, 8 Jul 2011 23:03:00 +0000 (01:03 +0200)
(to avoid the warnings seen on a buildbot)

Lib/multiprocessing/connection.py
Lib/multiprocessing/util.py

index ede2908eec78c15a854eb60a0845957e71062410..2661898f9fd95a0335a82b66ad1ba9fa3b28b93d 100644 (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
 
index b59ac9fc6199a8923722c815a09e066919943f75..c48718026ba0c9f4175b3b920e55130a25d74bca 100644 (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
         '''