In _DummyThread objects the lock stored in __block (allocated thanks to

_Thread.__init__) was never used.  This is a waste since locks use OS
primitives that are in limited supply.  So the lock is deleted in
_DummyThread.__init__ .

Closes bug #1089632.
This commit is contained in:
Brett Cannon 2005-01-08 02:43:53 +00:00
parent 922b3e2098
commit e6539c4401
2 changed files with 6 additions and 0 deletions

View File

@ -653,6 +653,7 @@ class _DummyThread(Thread):
def __init__(self):
Thread.__init__(self, name=_newname("Dummy-%d"))
del self._Thread__block
self._Thread__started = True
_active_limbo_lock.acquire()
_active[_get_ident()] = self

View File

@ -33,6 +33,11 @@ Extension Modules
Library
-------
- _DummyThread objects in the threading module now delete self.__block that is
inherited from _Thread since it uses up a lock allocated by 'thread'. The
lock primitives tend to be limited in number and thus should not be wasted on
a _DummyThread object. Fixes bug #1089632.
- The imghdr module now detects Exif files.
- StringIO.truncate() now correctly adjusts the size attribute.