New submission from Daniel Wagner-Hall <[email protected]>:
import random
from multiprocessing import Pool
from time import sleep
def Process(x):
try:
print x
sleep(random.random())
raise Exception('Exception: ' + x)
finally:
print 'Finally: ' + x
Pool(3).map(Process, ['1','2','3'])
Expect all three Finally blocks to be called (or at least, one Finally per x
printed by line 8)
Actually, only one (occasionally two) are printed.
Same behaviour exhibited on dual-core Mac running OSX 10.6 with Python 2.7, and
single core Ubuntu running Python 2.6.
----------
components: None
messages: 145201
nosy: illicitonion
priority: normal
severity: normal
status: open
title: multiprocessing.map skips finally blocks
type: behavior
versions: Python 2.6, Python 2.7
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue13139>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com