Memeplex added the comment:

I would like to reopen this issue because of the following, very related, 
behavior. Try this:

```
import multiprocessing as mp
import time


def g():
    time.sleep(100)

def f():
    mp.Process(target=g).start()
    1/0

mp.Process(target=f).start()
```

It won't show the ZeroDivisionError until you keyboard interrupt the g() 
process or wait for it to end. This is because _exit_function will join every 
active non-daemon child, which happens before printing and flushing the error. 
IMO the exception should be shown before joining children, since keeping the 
error silent is asking for trouble.

----------
nosy: +memeplex

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue13812>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to