This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author bquinlan
Recipients Albert.Strasheim, aljungberg, asksol, bquinlan, gdb, gkcn, hongqn, jnoller, pitrou, vlasovskikh, vstinner
Date 2011-05-03.11:22:46
SpamBayes Score 1.3167971e-06
Marked as misclassified No
Message-id <8AEE276D-BC19-4B9C-BC8F-2BB6B94A0E0E@sweetapp.com>
In-reply-to <1304421327.3567.1.camel@localhost.localdomain>
Content
> 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.

>
>> 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
- raise in wait(), as_completed(), etc.

It really dependents on whether we view the situation as expected (and  
try our best to let the user recover) or as an aberrant situation that  
the user can't reasonably recover from.

Cheers,
Brian
History
Date User Action Args
2011-05-03 11:22:48bquinlansetrecipients: + bquinlan, pitrou, vstinner, jnoller, hongqn, asksol, vlasovskikh, gdb, Albert.Strasheim, aljungberg, gkcn
2011-05-03 11:22:46bquinlanlinkissue9205 messages
2011-05-03 11:22:46bquinlancreate