Add SIGCHLD handler to cleanup qemu children spawned by fork

This commit is contained in:
Tom Marshall 2021-05-09 09:12:27 -07:00
parent 2c2a26b447
commit 4c1b515007
1 changed files with 8 additions and 0 deletions

8
vmmd
View File

@ -509,6 +509,13 @@ def sig_term(signum, frame):
global running
running = False
def sig_chld(signum, frame):
try:
while True:
(pid, status) = os.waitpid(0, os.WNOHANG)
except:
pass
### Config ###
class Config:
@ -2557,6 +2564,7 @@ for entry in os.listdir(run_dir):
signal.signal(signal.SIGTERM, sig_term)
signal.signal(signal.SIGINT, sig_term)
signal.signal(signal.SIGCHLD, sig_chld)
file_copier_thread = threading.Thread(target=file_copier)
file_copier_thread.daemon = True