diff options
author | Lennart Poettering <lennart@poettering.net> | 2013-11-06 03:15:16 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2013-11-06 03:15:16 +0100 |
commit | 74df0fca09b3c31ed19e14ba80f996fdff772417 (patch) | |
tree | 6910dfb512fa634c8e65a5c938f24d4dc133d716 /src/journal/journald-server.c | |
parent | 1f0cd86b3dc0f938ce179cdddc62fc0f584e599d (diff) |
util: unify reading of /proc/cmdline
Instead of individually checking for containers in each user do this
once in a new call proc_cmdline() that read the file only if we are not
in a container.
Diffstat (limited to 'src/journal/journald-server.c')
-rw-r--r-- | src/journal/journald-server.c | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c index 518e9ecc4e..ce419d48d8 100644 --- a/src/journal/journald-server.c +++ b/src/journal/journald-server.c @@ -27,10 +27,10 @@ #include <sys/timerfd.h> #include <libudev.h> -#include <systemd/sd-journal.h> -#include <systemd/sd-messages.h> -#include <systemd/sd-daemon.h> +#include "sd-journal.h" +#include "sd-messages.h" +#include "sd-daemon.h" #include "fileio.h" #include "mkdir.h" #include "hashmap.h" @@ -38,20 +38,19 @@ #include "socket-util.h" #include "cgroup-util.h" #include "list.h" -#include "virt.h" #include "missing.h" #include "conf-parser.h" +#include "selinux-util.h" #include "journal-internal.h" #include "journal-vacuum.h" #include "journal-authenticate.h" -#include "journald-server.h" #include "journald-rate-limit.h" #include "journald-kmsg.h" #include "journald-syslog.h" #include "journald-stream.h" #include "journald-console.h" #include "journald-native.h" -#include "selinux-util.h" +#include "journald-server.h" #ifdef HAVE_ACL #include <sys/acl.h> @@ -1313,17 +1312,14 @@ static int open_signalfd(Server *s) { static int server_parse_proc_cmdline(Server *s) { _cleanup_free_ char *line = NULL; char *w, *state; - int r; size_t l; + int r; - if (detect_container(NULL) > 0) - return 0; - - r = read_one_line_file("/proc/cmdline", &line); - if (r < 0) { + r = proc_cmdline(&line); + if (r < 0) log_warning("Failed to read /proc/cmdline, ignoring: %s", strerror(-r)); + if (r <= 0) return 0; - } FOREACH_WORD_QUOTED(w, l, line, state) { _cleanup_free_ char *word; |