Message249251
| Author |
memeplex |
| Recipients |
brandjon, jnoller, memeplex, neologix, pitrou, python-dev |
| Date |
2015年08月27日.19:06:45 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1440702406.1.0.711149426976.issue13812@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
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. |
|