From: Dong-hee Na Date: Thu, 17 Jan 2019 12:14:45 +0000 (+0900) Subject: bpo-35283: Add deprecation warning for Thread.isAlive (GH-11454) X-Git-Tag: v3.8.0a1~83 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=89669ffe10a9db6343f6ee42239e412c8ad96bde;p=thirdparty%2FPython%2Fcpython.git bpo-35283: Add deprecation warning for Thread.isAlive (GH-11454) Add a deprecated warning for the threading.Thread.isAlive() method. --- diff --git a/Doc/whatsnew/3.8.rst b/Doc/whatsnew/3.8.rst index 053fe902c481..bf8d8f15434b 100644 --- a/Doc/whatsnew/3.8.rst +++ b/Doc/whatsnew/3.8.rst @@ -394,6 +394,8 @@ Deprecated (Contributed by Serhiy Storchaka in :issue:`33710`.) +* The :meth:`~threading.Thread.isAlive()` method of :class:`threading.Thread` has been deprecated. + (Contributed by Dong-hee Na in :issue:`35283`.) API and Feature Removals ======================== diff --git a/Lib/test/support/__init__.py b/Lib/test/support/__init__.py index dd1790d592b1..697182ea775f 100644 --- a/Lib/test/support/__init__.py +++ b/Lib/test/support/__init__.py @@ -2264,14 +2264,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)) diff --git a/Lib/test/test_threading.py b/Lib/test/test_threading.py index 8160a5af0064..af2d6b59b971 100644 --- a/Lib/test/test_threading.py +++ b/Lib/test/test_threading.py @@ -415,7 +415,8 @@ class ThreadTests(BaseTestCase): t.setDaemon(True) t.getName() t.setName("name") - t.isAlive() + with self.assertWarnsRegex(DeprecationWarning, 'use is_alive()'): + t.isAlive() e = threading.Event() e.isSet() threading.activeCount() diff --git a/Lib/threading.py b/Lib/threading.py index bb41456fb141..7bc8a8573c72 100644 --- a/Lib/threading.py +++ b/Lib/threading.py @@ -1091,7 +1091,15 @@ class Thread: 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', + DeprecationWarning, stacklevel=2) + return self.is_alive() @property def daemon(self): diff --git a/Misc/NEWS.d/next/Library/2019-01-07-17-17-16.bpo-35283.WClosC.rst b/Misc/NEWS.d/next/Library/2019-01-07-17-17-16.bpo-35283.WClosC.rst new file mode 100644 index 000000000000..711865281b45 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2019-01-07-17-17-16.bpo-35283.WClosC.rst @@ -0,0 +1,2 @@ +Add a deprecated warning for the :meth:`threading.Thread.isAlive` method. +Patch by Dong-hee Na.