summaryrefslogtreecommitdiff
path: root/src/journal
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2020-06-02 14:55:12 +0200
committerLennart Poettering <lennart@poettering.net>2020-06-02 19:32:20 +0200
commit4f9ff96a55187927a4164a19df580329f4c6522b (patch)
treec3e1face3267f1d965bc4328f4a1a9c1b2427aee /src/journal
parent5aca2e6733d35534f82359e5720b3dea1d1332e5 (diff)
downloadsystemd-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.c23
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) {