Message110399
Started looking at your patch. It seems to behave reasonably, although it still doesn't catch all of the failure cases. In particular, as you note, crashed jobs won't be noticed until the pool shuts down... but if you make a blocking call such as in the following program, you'll get a hang:
"""
#!/usr/bin/env python
import multiprocessing, os, signal
def foo(x):
os.kill(os.getpid(), signal.SIGKILL)
multiprocessing.Pool(1).apply(foo, [1])
"""
The tests also occasionally hang in e.g.
test_job_killed_by_signal (__main__.WithProcessesTestPoolSupervisor) ... |
|
Date |
User |
Action |
Args |
2010-07-15 23:07:52 | gdb | set | recipients:
+ gdb, jnoller, asksol |
2010-07-15 23:07:52 | gdb | set | messageid: <1279235272.94.0.843883378856.issue9205@psf.upfronthosting.co.za> |
2010-07-15 23:07:51 | gdb | link | issue9205 messages |
2010-07-15 23:07:51 | gdb | create | |
|