diff options
author | Georg Brandl <georg@python.org> | 2008-06-10 16:37:50 (GMT) |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2008-06-10 16:37:50 (GMT) |
commit | 0c77a82c3d3342affd157f3693812c789a8d6ae1 (patch) | |
tree | 77eac854fc9af2188fbfb5c91b7147d6a6aa50ab /Lib/threading.py | |
parent | 0312494665ba9a6492956183c181e1b87e10820d (diff) | |
download | cpython-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.py | 14 |
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 |