title: multiprocessing gives AssertionError: daemonic processes are not allowed to have children
body: <p>I am trying to use multiprocessing for the first time. So I thought I would make a very simple test example which factors 100 different numbers.</p>
  
  <pre><code>from multiprocessing import Pool
  from primefac import factorint
  N = 10**30
  L = range(N,N + 100)
  pool = Pool()
  pool.map(factorint, L)
  </code></pre>
  
  <p>This gives me the error:</p>
  
  <pre><code>Traceback (most recent call last):
    File "test.py", line 8, in &lt;module&gt;
      pool.map(factorint, L)
    File "/usr/lib/python2.7/multiprocessing/pool.py", line 251, in map
      return self.map_async(func, iterable, chunksize).get()
    File "/usr/lib/python2.7/multiprocessing/pool.py", line 567, in get
      raise self._value
  AssertionError: daemonic processes are not allowed to have children
  </code></pre>
  
  <p>I see that <a href="https://stackoverflow.com/questions/6974695/python-process-pool-non-daemonic">Python Process Pool non-daemonic?</a> discusses this problem but I don't understand why it is relevant to my simple toy example.  What am I doing wrong?</p>