bpo-35283: Add pending deprecation warning for Thread.isAlive (GH-11604)

Add a pending deprecated warning for the threading.Thread.isAlive() method.
This commit is contained in:
Dong-hee Na 2019-01-18 23:09:43 +09:00 committed by Victor Stinner
parent 5f9a168a31
commit c2647f2e45
4 changed files with 16 additions and 5 deletions

View file

@ -2224,14 +2224,14 @@ def start_threads(threads, unlock=None):
endtime += 60
for t in started:
t.join(max(endtime - time.monotonic(), 0.01))
started = [t for t in started if t.isAlive()]
started = [t for t in started if t.is_alive()]
if not started:
break
if verbose:
print('Unable to join %d threads during a period of '
'%d minutes' % (len(started), timeout))
finally:
started = [t for t in started if t.isAlive()]
started = [t for t in started if t.is_alive()]
if started:
faulthandler.dump_traceback(sys.stdout)
raise AssertionError('Unable to join %d threads' % len(started))

View file

@ -415,7 +415,8 @@ def test_old_threading_api(self):
t.setDaemon(True)
t.getName()
t.setName("name")
t.isAlive()
with self.assertWarnsRegex(PendingDeprecationWarning, 'use is_alive()'):
t.isAlive()
e = threading.Event()
e.isSet()
threading.activeCount()

View file

@ -1007,7 +1007,7 @@ def join(self, timeout=None):
When the timeout argument is present and not None, it should be a
floating point number specifying a timeout for the operation in seconds
(or fractions thereof). As join() always returns None, you must call
isAlive() after join() to decide whether a timeout happened -- if the
is_alive() after join() to decide whether a timeout happened -- if the
thread is still alive, the join() call timed out.
When the timeout argument is not present or None, the operation will
@ -1091,7 +1091,15 @@ def is_alive(self):
self._wait_for_tstate_lock(False)
return not self._is_stopped
isAlive = is_alive
def isAlive(self):
"""Return whether the thread is alive.
This method is deprecated, use is_alive() instead.
"""
import warnings
warnings.warn('isAlive() is deprecated, use is_alive() instead',
PendingDeprecationWarning, stacklevel=2)
return self.is_alive()
@property
def daemon(self):

View file

@ -0,0 +1,2 @@
Add a pending deprecated warning for the :meth:`threading.Thread.isAlive` method.
Patch by Dong-hee Na.