From c7abdd19b537e0ee054d907b1d70e35c3d5a7b6f Mon Sep 17 00:00:00 2001 From: Daniel Caspi Date: Mon, 5 May 2025 16:44:32 -0500 Subject: [PATCH 1/2] allow BaseException for worker --- py3.11/multiprocess/pool.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/py3.11/multiprocess/pool.py b/py3.11/multiprocess/pool.py index 961d7e5..07febc0 100644 --- a/py3.11/multiprocess/pool.py +++ b/py3.11/multiprocess/pool.py @@ -123,7 +123,7 @@ def worker(inqueue, outqueue, initializer=None, initargs=(), maxtasks=None, job, i, func, args, kwds = task try: result = (True, func(*args, **kwds)) - except Exception as e: + except BaseException as e: if wrap_exception and func is not _helper_reraises_exception: e = ExceptionWithTraceback(e, e.__traceback__) result = (False, e) From 39da3aa67d67d2ddf49364292429df3258ab77b0 Mon Sep 17 00:00:00 2001 From: Daniel Caspi Date: Wed, 7 May 2025 12:46:44 -0500 Subject: [PATCH 2/2] allow BaseException for worker (remaining python versions) --- py3.10/multiprocess/pool.py | 2 +- py3.12/multiprocess/pool.py | 2 +- py3.13/multiprocess/pool.py | 2 +- py3.14/multiprocess/pool.py | 2 +- py3.9/multiprocess/pool.py | 2 +- pypy3.10/multiprocess/pool.py | 2 +- pypy3.11/multiprocess/pool.py | 2 +- pypy3.9/multiprocess/pool.py | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/py3.10/multiprocess/pool.py b/py3.10/multiprocess/pool.py index 961d7e5..07febc0 100644 --- a/py3.10/multiprocess/pool.py +++ b/py3.10/multiprocess/pool.py @@ -123,7 +123,7 @@ def worker(inqueue, outqueue, initializer=None, initargs=(), maxtasks=None, job, i, func, args, kwds = task try: result = (True, func(*args, **kwds)) - except Exception as e: + except BaseException as e: if wrap_exception and func is not _helper_reraises_exception: e = ExceptionWithTraceback(e, e.__traceback__) result = (False, e) diff --git a/py3.12/multiprocess/pool.py b/py3.12/multiprocess/pool.py index 4f5d88c..d2d4e00 100644 --- a/py3.12/multiprocess/pool.py +++ b/py3.12/multiprocess/pool.py @@ -123,7 +123,7 @@ def worker(inqueue, outqueue, initializer=None, initargs=(), maxtasks=None, job, i, func, args, kwds = task try: result = (True, func(*args, **kwds)) - except Exception as e: + except BaseException as e: if wrap_exception and func is not _helper_reraises_exception: e = ExceptionWithTraceback(e, e.__traceback__) result = (False, e) diff --git a/py3.13/multiprocess/pool.py b/py3.13/multiprocess/pool.py index f979890..ec97207 100644 --- a/py3.13/multiprocess/pool.py +++ b/py3.13/multiprocess/pool.py @@ -123,7 +123,7 @@ def worker(inqueue, outqueue, initializer=None, initargs=(), maxtasks=None, job, i, func, args, kwds = task try: result = (True, func(*args, **kwds)) - except Exception as e: + except BaseException as e: if wrap_exception and func is not _helper_reraises_exception: e = ExceptionWithTraceback(e, e.__traceback__) result = (False, e) diff --git a/py3.14/multiprocess/pool.py b/py3.14/multiprocess/pool.py index f979890..ec97207 100644 --- a/py3.14/multiprocess/pool.py +++ b/py3.14/multiprocess/pool.py @@ -123,7 +123,7 @@ def worker(inqueue, outqueue, initializer=None, initargs=(), maxtasks=None, job, i, func, args, kwds = task try: result = (True, func(*args, **kwds)) - except Exception as e: + except BaseException as e: if wrap_exception and func is not _helper_reraises_exception: e = ExceptionWithTraceback(e, e.__traceback__) result = (False, e) diff --git a/py3.9/multiprocess/pool.py b/py3.9/multiprocess/pool.py index bbe05a5..55a51cb 100644 --- a/py3.9/multiprocess/pool.py +++ b/py3.9/multiprocess/pool.py @@ -123,7 +123,7 @@ def worker(inqueue, outqueue, initializer=None, initargs=(), maxtasks=None, job, i, func, args, kwds = task try: result = (True, func(*args, **kwds)) - except Exception as e: + except BaseException as e: if wrap_exception and func is not _helper_reraises_exception: e = ExceptionWithTraceback(e, e.__traceback__) result = (False, e) diff --git a/pypy3.10/multiprocess/pool.py b/pypy3.10/multiprocess/pool.py index 961d7e5..07febc0 100644 --- a/pypy3.10/multiprocess/pool.py +++ b/pypy3.10/multiprocess/pool.py @@ -123,7 +123,7 @@ def worker(inqueue, outqueue, initializer=None, initargs=(), maxtasks=None, job, i, func, args, kwds = task try: result = (True, func(*args, **kwds)) - except Exception as e: + except BaseException as e: if wrap_exception and func is not _helper_reraises_exception: e = ExceptionWithTraceback(e, e.__traceback__) result = (False, e) diff --git a/pypy3.11/multiprocess/pool.py b/pypy3.11/multiprocess/pool.py index 961d7e5..07febc0 100644 --- a/pypy3.11/multiprocess/pool.py +++ b/pypy3.11/multiprocess/pool.py @@ -123,7 +123,7 @@ def worker(inqueue, outqueue, initializer=None, initargs=(), maxtasks=None, job, i, func, args, kwds = task try: result = (True, func(*args, **kwds)) - except Exception as e: + except BaseException as e: if wrap_exception and func is not _helper_reraises_exception: e = ExceptionWithTraceback(e, e.__traceback__) result = (False, e) diff --git a/pypy3.9/multiprocess/pool.py b/pypy3.9/multiprocess/pool.py index bbe05a5..55a51cb 100644 --- a/pypy3.9/multiprocess/pool.py +++ b/pypy3.9/multiprocess/pool.py @@ -123,7 +123,7 @@ def worker(inqueue, outqueue, initializer=None, initargs=(), maxtasks=None, job, i, func, args, kwds = task try: result = (True, func(*args, **kwds)) - except Exception as e: + except BaseException as e: if wrap_exception and func is not _helper_reraises_exception: e = ExceptionWithTraceback(e, e.__traceback__) result = (False, e)