]> granicus.if.org Git - python/commitdiff
Merge.
authorRichard Oudkerk <shibturn@gmail.com>
Mon, 28 Oct 2013 23:23:04 +0000 (23:23 +0000)
committerRichard Oudkerk <shibturn@gmail.com>
Mon, 28 Oct 2013 23:23:04 +0000 (23:23 +0000)
1  2 
Lib/multiprocessing/pool.py
Lib/test/_test_multiprocessing.py

index 4be00d5f476ea1672113f0ecadbbdfc4cb275422,0f2dab48ebddd6846f3c10ad55be8128e5932080..1cb2d9567885d78b2672e08e3fb53fd29f70a345
@@@ -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):
                      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
Simple merge