diff options
author | Lennart Poettering <lennart@poettering.net> | 2020-06-02 14:55:12 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2020-06-02 19:32:20 +0200 |
commit | 4f9ff96a55187927a4164a19df580329f4c6522b (patch) | |
tree | c3e1face3267f1d965bc4328f4a1a9c1b2427aee /src/journal | |
parent | 5aca2e6733d35534f82359e5720b3dea1d1332e5 (diff) | |
download | systemd-4f9ff96a55187927a4164a19df580329f4c6522b.tar.gz |
conf-parser: return mtime in config_parse() and friends
This is a follow-up for 9f83091e3cceb646a66fa9df89de6d9a77c21d86.
Instead of reading the mtime off the configuration files after reading,
let's do so before reading, but with the fd we read the data from. This
is not only cleaner (as it allows us to save one stat()), but also has
the benefit that we'll detect changes that happen while we read the
files.
This also reworks unit file drop-ins to use the common code for
determining drop-in mtime, instead of reading system clock for that.
Diffstat (limited to 'src/journal')
-rw-r--r-- | src/journal/journald-server.c | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c index 9efa65a294..5865bf9809 100644 --- a/src/journal/journald-server.c +++ b/src/journal/journald-server.c @@ -1633,23 +1633,24 @@ static int server_parse_config_file(Server *s) { /* If we are running in namespace mode, load the namespace specific configuration file, and nothing else */ namespaced = strjoina(PKGSYSCONFDIR "/journald@", s->namespace, ".conf"); - r = config_parse( - NULL, - namespaced, NULL, - "Journal\0", - config_item_perf_lookup, journald_gperf_lookup, - CONFIG_PARSE_WARN, s); + r = config_parse(NULL, + namespaced, NULL, + "Journal\0", + config_item_perf_lookup, journald_gperf_lookup, + CONFIG_PARSE_WARN, s, + NULL); if (r < 0) return r; return 0; } - return config_parse_many_nulstr(PKGSYSCONFDIR "/journald.conf", - CONF_PATHS_NULSTR("systemd/journald.conf.d"), - "Journal\0", - config_item_perf_lookup, journald_gperf_lookup, - CONFIG_PARSE_WARN, s); + return config_parse_many_nulstr( + PKGSYSCONFDIR "/journald.conf", + CONF_PATHS_NULSTR("systemd/journald.conf.d"), + "Journal\0", + config_item_perf_lookup, journald_gperf_lookup, + CONFIG_PARSE_WARN, s, NULL); } static int server_dispatch_sync(sd_event_source *es, usec_t t, void *userdata) { |