[Python-checkins] r70894 - python/trunk/Lib/threading.py
benjamin.peterson
python-checkins at python.org
Tue Mar 31 23:06:30 CEST 2009
Author: benjamin.peterson
Date: Tue Mar 31 23:06:30 2009
New Revision: 70894
Log:
take the usual lock precautions around _active_limbo_lock
Modified:
python/trunk/Lib/threading.py
Modified: python/trunk/Lib/threading.py
==============================================================================
--- python/trunk/Lib/threading.py (original)
+++ python/trunk/Lib/threading.py Tue Mar 31 23:06:30 2009
@@ -466,9 +466,8 @@
raise RuntimeError("thread already started")
if __debug__:
self._note("%s.start(): starting thread", self)
- _active_limbo_lock.acquire()
- _limbo[self] = self
- _active_limbo_lock.release()
+ with _active_limbo_lock:
+ _limbo[self] = self
_start_new_thread(self.__bootstrap, ())
self.__started.wait()
@@ -505,10 +504,9 @@
try:
self.__ident = _get_ident()
self.__started.set()
- _active_limbo_lock.acquire()
- _active[self.__ident] = self
- del _limbo[self]
- _active_limbo_lock.release()
+ with _active_limbo_lock:
+ _active[self.__ident] = self
+ del _limbo[self]
if __debug__:
self._note("%s.__bootstrap(): thread started", self)
@@ -735,9 +733,8 @@
def __init__(self):
Thread.__init__(self, name="MainThread")
self._Thread__started.set()
- _active_limbo_lock.acquire()
- _active[_get_ident()] = self
- _active_limbo_lock.release()
+ with _active_limbo_lock:
+ _active[_get_ident()] = self
def _set_daemon(self):
return False
@@ -781,9 +778,8 @@
del self._Thread__block
self._Thread__started.set()
- _active_limbo_lock.acquire()
- _active[_get_ident()] = self
- _active_limbo_lock.release()
+ with _active_limbo_lock:
+ _active[_get_ident()] = self
def _set_daemon(self):
return True
@@ -804,18 +800,14 @@
current_thread = currentThread
def activeCount():
- _active_limbo_lock.acquire()
- count = len(_active) + len(_limbo)
- _active_limbo_lock.release()
- return count
+ with _active_limbo_lock:
+ return len(_active) + len(_limbo)
active_count = activeCount
def enumerate():
- _active_limbo_lock.acquire()
- active = _active.values() + _limbo.values()
- _active_limbo_lock.release()
- return active
+ with _active_limbo_lock:
+ return _active.values() + _limbo.values()
from thread import stack_size
More information about the Python-checkins
mailing list