diff options
author | Victor Stinner <vstinner@redhat.com> | 2018-12-14 10:13:18 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-14 10:13:18 (GMT) |
commit | 2b417fba25f036c2d6139875e389d80e4286ad75 (patch) | |
tree | f21f8eeb7a73df4ee3d57f2cf247be17de512b1f /Lib/multiprocessing/pool.py | |
parent | afb3e71a1710c444fbe789b51df43ee16ee9ede7 (diff) | |
download | cpython-2b417fba25f036c2d6139875e389d80e4286ad75.zip cpython-2b417fba25f036c2d6139875e389d80e4286ad75.tar.gz cpython-2b417fba25f036c2d6139875e389d80e4286ad75.tar.bz2 |
Add multiprocessing.Pool.__repr__() (GH-11137)
* Add multiprocessing.Pool.__repr__() to ease debug
* RUN, CLOSE and TERMINATE constants values are now strings rather
than integer to ease debug
Diffstat (limited to 'Lib/multiprocessing/pool.py')
-rw-r--r-- | Lib/multiprocessing/pool.py | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/Lib/multiprocessing/pool.py b/Lib/multiprocessing/pool.py index c077541..cede9bb 100644 --- a/Lib/multiprocessing/pool.py +++ b/Lib/multiprocessing/pool.py @@ -30,9 +30,9 @@ from . import get_context, TimeoutError # Constants representing the state of a pool # -RUN = 0 -CLOSE = 1 -TERMINATE = 2 +RUN = "RUN" +CLOSE = "CLOSE" +TERMINATE = "TERMINATE" # # Miscellaneous @@ -217,6 +217,12 @@ class Pool(object): exitpriority=15 ) + def __repr__(self): + cls = self.__class__ + return (f'<{cls.__module__}.{cls.__qualname__} ' + f'state={self._state} ' + f'pool_size={len(self._pool)}>') + def _join_exited_workers(self): """Cleanup after any worker processes which have exited due to reaching their specified lifetime. Returns True if any workers were cleaned up. @@ -432,7 +438,7 @@ class Pool(object): try: # iterating taskseq cannot fail for task in taskseq: - if thread._state: + if thread._state != RUN: util.debug('task handler found thread._state != RUN') break try: @@ -480,7 +486,7 @@ class Pool(object): util.debug('result handler got EOFError/OSError -- exiting') return - if thread._state: + if thread._state != "RUN": assert thread._state == TERMINATE, "Thread not in TERMINATE" util.debug('result handler found thread._state=TERMINATE') break |