static unsigned long server_addr;
static unsigned long timeout;
static int packet_num; /* = 0 */
-static int fd;
+static int fd = -1;
static int signal_pipe[2];
#define LISTEN_NONE 0
{
DEBUG(LOG_INFO, "entering %s listen mode",
new_mode ? (new_mode == 1 ? "kernel" : "raw") : "none");
- close(fd);
+ if (fd >= 0) close(fd);
fd = -1;
listen_mode = new_mode;
}
exit_client(1);
}
client_config.foreground = 1; /* Do not fork again. */
+ client_config.background_if_no_lease = 0;
pidfile_write_release(pid_fd);
}
/* case BOUND, RELEASED: - ignore all packets */
}
} else if (retval > 0 && FD_ISSET(signal_pipe[0], &rfds)) {
- if (read(signal_pipe[0], &sig, sizeof(signal)) < 0) {
+ if (read(signal_pipe[0], &sig, sizeof(sig)) < 0) {
DEBUG(LOG_ERR, "Could not read signal: %s",
strerror(errno));
continue; /* probably just EINTR */