title: Exception thrown in multiprocessing Pool not detected
body: <p>It seems that when an exception is raised from a multiprocessing.Pool process, there is no stack trace or any other indication that it has failed. Example: </p>
  
  <pre><code>from multiprocessing import Pool 
  
  def go():
      print(1)
      raise Exception()
      print(2)
  
  p = Pool()
  p.apply_async(go)
  p.close()
  p.join()
  </code></pre>
  
  <p>prints 1 and stops silently. Interestingly, raising a BaseException instead works. Is there any way to make the behavior for all exceptions the same as BaseException?</p>