Géry <[email protected]> added the comment:
And like the `concurrent.futures` module for
`concurrent.futures.ProcessPoolExecutor` but not for
`concurrent.futures.ThreadPoolExecutor` (see above), the `multiprocessing.pool`
module seems also affected by a similar problem for `multiprocessing.pool.Pool`
(process pools) but not for `multiprocessing.pool.ThreadPool` (thread pools).
Indeed the following code:
import multiprocessing.pool
class A:
def f(self):
print("called")
class B(A):
def f(self):
pool = multiprocessing.pool.Pool(2)
pool.apply(super().f)
if __name__ == "__main__":
B().f()
raises the following exception:
> AssertionError: daemonic processes are not allowed to have children
----------
title: ProcessPoolExecutor fails with super ->
concurrent.futures.ProcessPoolExecutor and multiprocessing.pool.Pool fail with
super
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue37294>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com