Message102219
multiprocessing.Pool methods map, imap, etc. are said to be able to normally handle exceptions. But it seems that it is true only for synchronous exceptions inside their first func arguments.
When (typically during a long-running parallel map) a user hits ^C, an asynchronous KeyboardInterrupt isn't handled properly and leads to the interpreter hangup. More precisely, children processes become <defunct> (on Linux), so the only way to terminate the whole program is to issue the KILL signal.
As stopping a program with ^C while running potentially long parallel computations is probably quite a common scenario, the interpreter should not hang up in such a case.
I'm using Python 2.6.5 (r265:79063, Mar 23 2010, 04:44:21) [GCC 4.4.3] on linux2. I've also tried to use the current multiprocessing.pool module from the current (2.7) trunk with my 2.6.5 installation, but the bug persists. |
|
Date |
User |
Action |
Args |
2010-04-03 03:37:16 | vlasovskikh | set | recipients:
+ vlasovskikh |
2010-04-03 03:37:15 | vlasovskikh | set | messageid: <1270265835.83.0.251816264221.issue8296@psf.upfronthosting.co.za> |
2010-04-03 03:37:14 | vlasovskikh | link | issue8296 messages |
2010-04-03 03:37:13 | vlasovskikh | create | |
|