dom0/qrexec: kill child process on connect timeout

Sometimes vchan can not detect dead target domain so kill it explicit to not
leave a mess.
This commit is contained in:
Marek Marczykowski 2012-09-25 03:23:54 +02:00
parent 96199058d1
commit d1620d9a32

View File

@ -95,13 +95,14 @@ void init(int xid)
char qrexec_error_log_name[256];
int logfd;
int i;
pid_t pid;
if (xid <= 0) {
fprintf(stderr, "domain id=0?\n");
exit(1);
}
signal(SIGUSR1, sigusr1_handler);
switch (fork()) {
switch (pid=fork()) {
case -1:
perror("fork");
exit(1);
@ -114,6 +115,7 @@ void init(int xid)
fprintf(stderr, ".");
}
fprintf(stderr, "Cannot connect to qrexec agent for %d seconds, giving up\n", MAX_STARTUP_TIME);
kill(pid, SIGTERM);
exit(1);
}
close(0);