manager: don't write first-boot flag file all the time
Instead, remember that we have already written it.
This commit is contained in:
parent
fc60d8153c
commit
ae2a2c53dd
|
@ -573,6 +573,7 @@ int manager_new(ManagerRunningAs running_as, bool test_run, Manager **_m) {
|
|||
|
||||
m->ask_password_inotify_fd = -1;
|
||||
m->have_ask_password = -EINVAL; /* we don't know */
|
||||
m->first_boot = -1;
|
||||
|
||||
m->test_run = test_run;
|
||||
|
||||
|
@ -2998,12 +2999,14 @@ void manager_set_first_boot(Manager *m, bool b) {
|
|||
if (m->running_as != MANAGER_SYSTEM)
|
||||
return;
|
||||
|
||||
m->first_boot = b;
|
||||
if (m->first_boot != (int) b) {
|
||||
if (b)
|
||||
(void) touch("/run/systemd/first-boot");
|
||||
else
|
||||
(void) unlink("/run/systemd/first-boot");
|
||||
}
|
||||
|
||||
if (m->first_boot)
|
||||
touch("/run/systemd/first-boot");
|
||||
else
|
||||
unlink("/run/systemd/first-boot");
|
||||
m->first_boot = b;
|
||||
}
|
||||
|
||||
void manager_status_printf(Manager *m, StatusType type, const char *status, const char *format, ...) {
|
||||
|
|
|
@ -233,7 +233,6 @@ struct Manager {
|
|||
bool dispatching_dbus_queue:1;
|
||||
|
||||
bool taint_usr:1;
|
||||
bool first_boot:1;
|
||||
|
||||
bool test_run:1;
|
||||
|
||||
|
@ -295,6 +294,8 @@ struct Manager {
|
|||
|
||||
const char *unit_log_field;
|
||||
const char *unit_log_format_string;
|
||||
|
||||
int first_boot;
|
||||
};
|
||||
|
||||
int manager_new(ManagerRunningAs running_as, bool test_run, Manager **m);
|
||||
|
|
Loading…
Reference in New Issue