Add SIGCHLD handler to cleanup qemu children spawned by fork
This commit is contained in:
parent
2c2a26b447
commit
4c1b515007
8
vmmd
8
vmmd
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue