Antoine Pitrou <pit...@free.fr> added the comment: As mentioned in http://docs.python.org/dev/library/multiprocessing#multiprocessing.pool.AsyncResult.get “If the remote call raised an exception then that exception will be reraised by get().”
map() is just map_async() followed by a get() call on the result. Also, worker processes are called in daemon mode, which explains that children get killed as soon as the parent exits. If you rephrase your example as: try: Pool(3).map(Process, ['1','2','3']) finally: sleep(1) then all the children's finally clauses get a chance to be executed before the parent exits. I would therefore call it "not a bug", although you might add a sentence in the map() documentation stating that an exception is raised as soon as one of the worker fails. ---------- assignee: -> docs@python components: +Documentation nosy: +docs@python, pitrou _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue13139> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com