Message390774
When child process dies unexpectedly Queue.get waits indefinitely.
Here is example:
import os
import signal
import multiprocessing
def child_func(qa, qb):
input = qa.get()
print('Child received: ', input)
os.kill(os.getpid(), signal.SIGTERM)
qb.put('B')
exit(0)
qa = multiprocessing.Queue()
qb = multiprocessing.Queue()
process = multiprocessing.Process(target=child_func, args=(qa, qb))
process.start()
qa.put('A')
try:
input = qb.get()
print('Parent received: ', input)
except Exception as ex:
print(ex)
process.join()
exit(0) |
|
Date |
User |
Action |
Args |
2021-04-11 11:52:50 | kormang | set | recipients:
+ kormang |
2021-04-11 11:52:50 | kormang | set | messageid: <1618141970.93.0.19986621438.issue43805@roundup.psfhosted.org> |
2021-04-11 11:52:50 | kormang | link | issue43805 messages |
2021-04-11 11:52:50 | kormang | create | |
|