diff Lib/multiprocessing/process.py @ 71361:2bedea96de60 3.2

Issue #12573: Add resource checks for dangling Thread and Process objects.
author Antoine Pitrou <solipsis@pitrou.net>
date Fri, 15 Jul 2011 22:12:24 +0200
parents e6e7e42efdc2
children 2863d9273abd 86dc49fbf4af
line wrap: on
line diff
--- a/Lib/multiprocessing/process.py	Fri Jul 15 21:19:02 2011 +0200
+++ b/Lib/multiprocessing/process.py	Fri Jul 15 22:12:24 2011 +0200
@@ -42,6 +42,7 @@
 import sys
 import signal
 import itertools
+from _weakrefset import WeakSet
 
 #
 #
@@ -105,6 +106,7 @@
         self._kwargs = dict(kwargs)
         self._name = name or type(self).__name__ + '-' + \
                      ':'.join(str(i) for i in self._identity)
+        _dangling.add(self)
 
     def run(self):
         '''
@@ -328,3 +330,6 @@
 for name, signum in list(signal.__dict__.items()):
     if name[:3]=='SIG' and '_' not in name:
         _exitcode_to_name[-signum] = name
+
+# For debug and leak testing
+_dangling = WeakSet()