From: Richard Oudkerk Date: Mon, 28 Oct 2013 23:23:04 +0000 (+0000) Subject: Merge. X-Git-Tag: v3.4.0b1~501 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=33aaa73cade0acee374139f855af2a167d139d89;p=thirdparty%2FPython%2Fcpython.git Merge. --- 33aaa73cade0acee374139f855af2a167d139d89 diff --cc Lib/multiprocessing/pool.py index 4be00d5f476e,0f2dab48ebdd..1cb2d9567885 --- a/Lib/multiprocessing/pool.py +++ b/Lib/multiprocessing/pool.py @@@ -361,10 -336,10 +362,10 @@@ class Pool(object) time.sleep(0.1) # send sentinel to stop workers pool._taskqueue.put(None) - debug('worker handler exiting') + util.debug('worker handler exiting') @staticmethod - def _handle_tasks(taskqueue, put, outqueue, pool): + def _handle_tasks(taskqueue, put, outqueue, pool, cache): thread = threading.current_thread() for taskseq, set_length in iter(taskqueue.get, None): @@@ -375,12 -350,15 +376,15 @@@ break try: put(task) - except OSError: - util.debug('could not put task on queue') - break + except Exception as e: + job, ind = task[:2] + try: + cache[job]._set(ind, (False, e)) + except KeyError: + pass else: if set_length: - debug('doing set_length()') + util.debug('doing set_length()') set_length(i+1) continue break