summaryrefslogtreecommitdiffstats
path: root/Lib/threading.py
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2008-06-10 16:37:50 (GMT)
committerGeorg Brandl <georg@python.org>2008-06-10 16:37:50 (GMT)
commit0c77a82c3d3342affd157f3693812c789a8d6ae1 (patch)
tree77eac854fc9af2188fbfb5c91b7147d6a6aa50ab /Lib/threading.py
parent0312494665ba9a6492956183c181e1b87e10820d (diff)
downloadcpython-0c77a82c3d3342affd157f3693812c789a8d6ae1.zip
cpython-0c77a82c3d3342affd157f3693812c789a8d6ae1.tar.gz
cpython-0c77a82c3d3342affd157f3693812c789a8d6ae1.tar.bz2
Merged revisions 63829-63831,63858,63865,63879,63882,63948,63970-63972,63976,63989,64014-64015,64021-64022,64063-64065,64067 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r63829 | mark.summerfield | 2008-05-31 15:05:34 +0200 (Sat, 31 May 2008) | 4 lines Added a note to [] that special forms & special chars lose their meaning and backrefs can't be used inside [] ........ r63830 | georg.brandl | 2008-05-31 16:40:09 +0200 (Sat, 31 May 2008) | 2 lines #3010: clarification about stdin/use_rawinput. ........ r63831 | georg.brandl | 2008-05-31 16:45:55 +0200 (Sat, 31 May 2008) | 2 lines #3005: add explaining sentence to easydialogs docs. ........ r63858 | georg.brandl | 2008-06-01 18:41:31 +0200 (Sun, 01 Jun 2008) | 2 lines Add plain text make target. ........ r63865 | georg.brandl | 2008-06-01 21:24:36 +0200 (Sun, 01 Jun 2008) | 2 lines Spaces vs. tabs. ........ r63879 | gregory.p.smith | 2008-06-02 00:57:47 +0200 (Mon, 02 Jun 2008) | 3 lines Make the _H #define's match the header file names. Fix comments to mention the correct type names. ........ r63882 | gregory.p.smith | 2008-06-02 01:48:47 +0200 (Mon, 02 Jun 2008) | 3 lines Adds a Thread.getIdent() method to provide the _get_ident() value for any given threading.Thread object. feature request issue 2871. ........ r63948 | alexandre.vassalotti | 2008-06-04 22:41:44 +0200 (Wed, 04 Jun 2008) | 2 lines Fixed complex.__getnewargs__() to not emit another complex object. ........ r63970 | andrew.kuchling | 2008-06-06 01:33:54 +0200 (Fri, 06 Jun 2008) | 1 line Document 'utc' parameter ........ r63971 | andrew.kuchling | 2008-06-06 01:35:31 +0200 (Fri, 06 Jun 2008) | 1 line Add various items ........ r63972 | andrew.kuchling | 2008-06-06 01:35:48 +0200 (Fri, 06 Jun 2008) | 1 line Grammar fix ........ r63976 | georg.brandl | 2008-06-06 09:34:50 +0200 (Fri, 06 Jun 2008) | 2 lines Markup fix. ........ r63989 | thomas.heller | 2008-06-06 20:42:11 +0200 (Fri, 06 Jun 2008) | 2 lines Add a reminder for the maintainer of whatsnew. ........ r64014 | georg.brandl | 2008-06-07 17:59:10 +0200 (Sat, 07 Jun 2008) | 3 lines Factor out docstring dedenting from inspect.getdoc() into inspect.cleandoc() to ease standalone use of the algorithm. ........ r64015 | georg.brandl | 2008-06-07 18:04:01 +0200 (Sat, 07 Jun 2008) | 2 lines Revert unwanted changes. ........ r64021 | georg.brandl | 2008-06-07 20:16:12 +0200 (Sat, 07 Jun 2008) | 2 lines X-ref to numbers module. ........ r64022 | georg.brandl | 2008-06-07 20:17:37 +0200 (Sat, 07 Jun 2008) | 3 lines Document the "st" API, to avoid confusion with the "new" AST. Add a note about using the new AST module. ........ r64063 | martin.v.loewis | 2008-06-10 07:03:35 +0200 (Tue, 10 Jun 2008) | 2 lines Add Gregor Lingl. ........ r64064 | georg.brandl | 2008-06-10 09:45:28 +0200 (Tue, 10 Jun 2008) | 2 lines Add the "ast" module, containing helpers to ease use of the "_ast" classes. ........ r64065 | raymond.hettinger | 2008-06-10 09:57:15 +0200 (Tue, 10 Jun 2008) | 1 line Add Arnaud for his efforts on multi-arg set operations. ........ r64067 | georg.brandl | 2008-06-10 14:46:39 +0200 (Tue, 10 Jun 2008) | 2 lines #2536: fix itertools.permutations and itertools.combinations docstrings. ........
Diffstat (limited to 'Lib/threading.py')
-rw-r--r--Lib/threading.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/Lib/threading.py b/Lib/threading.py
index 673d88e..bce291e 100644
--- a/Lib/threading.py
+++ b/Lib/threading.py
@@ -401,6 +401,7 @@ class Thread(_Verbose):
self._args = args
self._kwargs = kwargs
self._daemonic = self._set_daemon()
+ self._ident = None
self._started = Event()
self._stopped = False
self._block = Condition(Lock())
@@ -421,7 +422,9 @@ class Thread(_Verbose):
if self._stopped:
status = "stopped"
if self._daemonic:
- status = status + " daemon"
+ status += " daemon"
+ if self._ident is not None:
+ status += " %s" % self._ident
return "<%s(%s, %s)>" % (self.__class__.__name__, self._name, status)
def start(self):
@@ -469,9 +472,10 @@ class Thread(_Verbose):
def _bootstrap_inner(self):
try:
+ self._ident = _get_ident()
self._started.set()
_active_limbo_lock.acquire()
- _active[_get_ident()] = self
+ _active[self._ident] = self
del _limbo[self]
_active_limbo_lock.release()
if __debug__:
@@ -536,7 +540,7 @@ class Thread(_Verbose):
with _active_limbo_lock:
self._stop()
try:
- # We don't call self.__delete() because it also
+ # We don't call self._delete() because it also
# grabs _active_limbo_lock.
del _active[_get_ident()]
except:
@@ -625,6 +629,10 @@ class Thread(_Verbose):
assert self._initialized, "Thread.__init__() not called"
self._name = str(name)
+ def getIdent(self):
+ assert self._initialized, "Thread.__init__() not called"
+ return self._ident
+
def isAlive(self):
assert self._initialized, "Thread.__init__() not called"
return self._started.isSet() and not self._stopped