You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
92 lines
3.2 KiB
92 lines
3.2 KiB
From 708c394b7ca35fe2328fa0760696ff95caab8ff8 Mon Sep 17 00:00:00 2001
|
|
From: David Tardon <dtardon@redhat.com>
|
|
Date: Tue, 29 Nov 2022 16:15:47 +0100
|
|
Subject: [PATCH] manager: move inc. of n_reloading into a function
|
|
|
|
[dtardon: This is inspired by commit d147e2b66b4d6b71db1bc59b62286b2eb9c3d29f ,
|
|
but it does just the minimal change needed for the next commit.]
|
|
|
|
Related: #2136869
|
|
---
|
|
src/core/main.c | 2 +-
|
|
src/core/manager.c | 12 ++++++++----
|
|
src/core/manager.h | 1 +
|
|
3 files changed, 10 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/src/core/main.c b/src/core/main.c
|
|
index cfa6fec930..c3e2ce8956 100644
|
|
--- a/src/core/main.c
|
|
+++ b/src/core/main.c
|
|
@@ -1131,7 +1131,7 @@ static int prepare_reexecute(Manager *m, FILE **_f, FDSet **_fds, bool switching
|
|
return log_error_errno(r, "Failed to create serialization file: %m");
|
|
|
|
/* Make sure nothing is really destructed when we shut down */
|
|
- m->n_reloading++;
|
|
+ manager_reloading_start(m);
|
|
bus_manager_send_reloading(m, true);
|
|
|
|
fds = fdset_new();
|
|
diff --git a/src/core/manager.c b/src/core/manager.c
|
|
index f4611e6f8f..f923cbce37 100644
|
|
--- a/src/core/manager.c
|
|
+++ b/src/core/manager.c
|
|
@@ -1578,6 +1578,10 @@ static void manager_preset_all(Manager *m) {
|
|
log_info("Populated /etc with preset unit settings.");
|
|
}
|
|
|
|
+void manager_reloading_start(Manager *m) {
|
|
+ m->n_reloading++;
|
|
+}
|
|
+
|
|
int manager_startup(Manager *m, FILE *serialization, FDSet *fds) {
|
|
int r;
|
|
|
|
@@ -1609,7 +1613,7 @@ int manager_startup(Manager *m, FILE *serialization, FDSet *fds) {
|
|
* this is already known, so we increase the counter here
|
|
* already */
|
|
if (serialization)
|
|
- m->n_reloading++;
|
|
+ manager_reloading_start(m);
|
|
|
|
/* First, enumerate what we can from all config files */
|
|
dual_timestamp_get(m->timestamps + MANAGER_TIMESTAMP_UNITS_LOAD_START);
|
|
@@ -3093,7 +3097,7 @@ int manager_serialize(Manager *m, FILE *f, FDSet *fds, bool switching_root) {
|
|
assert(f);
|
|
assert(fds);
|
|
|
|
- m->n_reloading++;
|
|
+ manager_reloading_start(m);
|
|
|
|
fprintf(f, "current-job-id=%"PRIu32"\n", m->current_job_id);
|
|
fprintf(f, "n-installed-jobs=%u\n", m->n_installed_jobs);
|
|
@@ -3211,7 +3215,7 @@ int manager_deserialize(Manager *m, FILE *f, FDSet *fds) {
|
|
|
|
log_debug("Deserializing state...");
|
|
|
|
- m->n_reloading++;
|
|
+ manager_reloading_start(m);
|
|
|
|
for (;;) {
|
|
_cleanup_free_ char *line = NULL;
|
|
@@ -3455,7 +3459,7 @@ int manager_reload(Manager *m) {
|
|
if (r < 0)
|
|
return r;
|
|
|
|
- m->n_reloading++;
|
|
+ manager_reloading_start(m);
|
|
bus_manager_send_reloading(m, true);
|
|
|
|
fds = fdset_new();
|
|
diff --git a/src/core/manager.h b/src/core/manager.h
|
|
index 3f2cfc5e2e..adbbb518cb 100644
|
|
--- a/src/core/manager.h
|
|
+++ b/src/core/manager.h
|
|
@@ -386,6 +386,7 @@ int manager_new(UnitFileScope scope, unsigned test_run_flags, Manager **m);
|
|
Manager* manager_free(Manager *m);
|
|
DEFINE_TRIVIAL_CLEANUP_FUNC(Manager*, manager_free);
|
|
|
|
+void manager_reloading_start(Manager *m);
|
|
int manager_startup(Manager *m, FILE *serialization, FDSet *fds);
|
|
|
|
Job *manager_get_job(Manager *m, uint32_t id);
|