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.

作者 bquinlan
收信人 Albert.Strasheim, aljungberg, asksol, bquinlan, gdb, gkcn, hongqn, jnoller, pitrou, vlasovskikh, vstinner
日期 2011-05-03.11:22:46
SpamBayes Score 1.3167971e-06
Marked as misclassified
Message-id <8AEE276D-BC19-4B9C-BC8F-2BB6B94A0E0E@sweetapp.com>
In-reply-to <1304421327.3567.1.camel@localhost.localdomain>
内容
> 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
历史
日期 用户 动作 参数
2011-05-03 11:22:48bquinlan修改recipients: + bquinlan, pitrou, vstinner, jnoller, hongqn, asksol, vlasovskikh, gdb, Albert.Strasheim, aljungberg, gkcn
2011-05-03 11:22:46bquinlan链接issue9205 messages
2011-05-03 11:22:46bquinlan创建