[issue9205] Parent process hanging in multiprocessing if children terminate unexpectedly
Antoine Pitrou
report at bugs.python.org
Tue May 3 13:34:31 CEST 2011
Antoine Pitrou <pitrou at free.fr> added the comment:
> > Killed by the user, or by an automatic device (such as the Linux OOM
> > killer), or crashed.
>
> Crashed would be bad - it would indicate a bug in the
> ProcessPoolExecutor code.
I meant a crash in Python itself, or any third-party extension module.
> >> If the user kills a child then maybe all we want to do is raise an
> >> exception rather than deadlock as a convenience.
> >
> > That's what the patch does, roughly.
>
> Right. But instead of trying to recover, it might be better to fail
> very loudly i.e.
> - fail every non-finished future
> - kill every child process in the ProcessPoolExecutor
> - set the ProcessPoolExecutor as shutdown so no new work can be
> scheduled
Yes, I think that's better (see my message about the internal state of
queues).
----------
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue9205>
_______________________________________
More information about the Python-bugs-list
mailing list