aboutgitcodebugslistschat
path: root/passt.c
diff options
context:
space:
mode:
Diffstat (limited to 'passt.c')
-rw-r--r--passt.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/passt.c b/passt.c
index f430648..59ab501 100644
--- a/passt.c
+++ b/passt.c
@@ -225,6 +225,8 @@ int main(int argc, char **argv)
strncpy(argv0, argv[0], PATH_MAX - 1);
name = basename(argv0);
if (strstr(name, "pasta")) {
+ __openlog(log_name = "pasta", LOG_PERROR, LOG_DAEMON);
+
sa.sa_handler = pasta_child_handler;
if (sigaction(SIGCHLD, &sa, NULL)) {
die("Couldn't install signal handlers: %s",
@@ -237,18 +239,16 @@ int main(int argc, char **argv)
}
c.mode = MODE_PASTA;
- log_name = "pasta";
} else if (strstr(name, "passt")) {
+ __openlog(log_name = "passt", LOG_PERROR, LOG_DAEMON);
+
c.mode = MODE_PASST;
- log_name = "passt";
} else {
exit(EXIT_FAILURE);
}
madvise(pkt_buf, TAP_BUF_BYTES, MADV_HUGEPAGE);
- __openlog(log_name, 0, LOG_DAEMON);
-
c.epollfd = epoll_create1(EPOLL_CLOEXEC);
if (c.epollfd == -1) {
perror("epoll_create1");
@@ -269,9 +269,6 @@ int main(int argc, char **argv)
conf(&c, argc, argv);
trace_init(c.trace);
- if (c.force_stderr || isatty(fileno(stdout)))
- __openlog(log_name, LOG_PERROR, LOG_DAEMON);
-
pasta_netns_quit_init(&c);
tap_sock_init(&c);
@@ -314,6 +311,9 @@ int main(int argc, char **argv)
if (isolate_prefork(&c))
die("Failed to sandbox process, exiting");
+ if (!c.force_stderr && !isatty(fileno(stderr)))
+ __openlog(log_name, 0, LOG_DAEMON);
+
if (!c.foreground)
__daemon(pidfile_fd, devnull_fd);
else