static struct passwd *user_pwd;
static const char *chroot_dir;
static int daemonize;
-static int fds[2];
+static int daemon_pipe;
void os_setup_early_signal_handling(void)
{
{
if (daemonize) {
pid_t pid;
+ int fds[2];
if (pipe(fds) == -1) {
exit(1);
}
close(fds[0]);
- qemu_set_cloexec(fds[1]);
+ daemon_pipe = fds[1];
+ qemu_set_cloexec(daemon_pipe);
setsid();
ssize_t len;
again1:
- len = write(fds[1], &status, 1);
+ len = write(daemon_pipe, &status, 1);
if (len == -1 && (errno == EINTR)) {
goto again1;
}
{
if (daemonize) {
uint8_t status = 1;
- if (write(fds[1], &status, 1) != 1) {
+ if (write(daemon_pipe, &status, 1) != 1) {
perror("daemonize. Writing to pipe\n");
}
} else