X Tutup
Skip to content

Commit 7365a29

Browse files
committed
pid1: when printing status message status, give reason
1 parent 5ca02bf commit 7365a29

File tree

4 files changed

+16
-15
lines changed

4 files changed

+16
-15
lines changed

src/core/job.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -862,7 +862,7 @@ static void job_print_done_status_message(Unit *u, JobType t, JobResult result)
862862
status = job_print_done_status_messages[result].word;
863863

864864
if (result != JOB_DONE)
865-
manager_flip_auto_status(u->manager, true);
865+
manager_flip_auto_status(u->manager, true, "job failed");
866866

867867
DISABLE_WARNING_FORMAT_NONLITERAL;
868868
unit_status_printf(u, status, format);

src/core/main.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -711,7 +711,7 @@ static void set_manager_settings(Manager *m) {
711711
m->kexec_watchdog = arg_kexec_watchdog;
712712
m->cad_burst_action = arg_cad_burst_action;
713713

714-
manager_set_show_status(m, arg_show_status);
714+
manager_set_show_status(m, arg_show_status, "commandline");
715715
m->status_unit_format = arg_status_unit_format;
716716
}
717717

src/core/manager.c

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -173,15 +173,15 @@ static void draw_cylon(char buffer[], size_t buflen, unsigned width, unsigned po
173173
}
174174
}
175175

176-
void manager_flip_auto_status(Manager *m, bool enable) {
176+
void manager_flip_auto_status(Manager *m, bool enable, const char *reason) {
177177
assert(m);
178178

179179
if (enable) {
180180
if (m->show_status == SHOW_STATUS_AUTO)
181-
manager_set_show_status(m, SHOW_STATUS_TEMPORARY);
181+
manager_set_show_status(m, SHOW_STATUS_TEMPORARY, reason);
182182
} else {
183183
if (m->show_status == SHOW_STATUS_TEMPORARY)
184-
manager_set_show_status(m, SHOW_STATUS_AUTO);
184+
manager_set_show_status(m, SHOW_STATUS_AUTO, reason);
185185
}
186186
}
187187

@@ -198,7 +198,7 @@ static void manager_print_jobs_in_progress(Manager *m) {
198198
assert(m);
199199
assert(m->n_running_jobs > 0);
200200

201-
manager_flip_auto_status(m, true);
201+
manager_flip_auto_status(m, true, "delay");
202202

203203
print_nr = (m->jobs_in_progress_iteration / JOBS_IN_PROGRESS_PERIOD_DIVISOR) % m->n_running_jobs;
204204

@@ -2736,11 +2736,11 @@ static int manager_dispatch_signal_fd(sd_event_source *source, int fd, uint32_t
27362736
switch (sfsi.ssi_signo - SIGRTMIN) {
27372737

27382738
case 20:
2739-
manager_set_show_status(m, SHOW_STATUS_YES);
2739+
manager_set_show_status(m, SHOW_STATUS_YES, "signal");
27402740
break;
27412741

27422742
case 21:
2743-
manager_set_show_status(m, SHOW_STATUS_NO);
2743+
manager_set_show_status(m, SHOW_STATUS_NO, "signal");
27442744
break;
27452745

27462746
case 22:
@@ -3402,7 +3402,7 @@ int manager_deserialize(Manager *m, FILE *f, FDSet *fds) {
34023402
if (s < 0)
34033403
log_notice("Failed to parse show-status flag '%s', ignoring.", val);
34043404
else
3405-
manager_set_show_status(m, s);
3405+
manager_set_show_status(m, s, "deserialization");
34063406

34073407
} else if ((val = startswith(l, "log-level-override="))) {
34083408
int level;
@@ -3778,7 +3778,7 @@ void manager_check_finished(Manager *m) {
37783778
return;
37793779
}
37803780

3781-
manager_flip_auto_status(m, false);
3781+
manager_flip_auto_status(m, false, "boot finished");
37823782

37833783
/* Notify Type=idle units that we are done now */
37843784
manager_close_idle_pipe(m);
@@ -4076,7 +4076,7 @@ void manager_recheck_journal(Manager *m) {
40764076
log_open();
40774077
}
40784078

4079-
void manager_set_show_status(Manager *m, ShowStatus mode) {
4079+
void manager_set_show_status(Manager *m, ShowStatus mode, const char *reason) {
40804080
assert(m);
40814081
assert(IN_SET(mode, SHOW_STATUS_AUTO, SHOW_STATUS_NO, SHOW_STATUS_YES, SHOW_STATUS_TEMPORARY));
40824082

@@ -4085,9 +4085,10 @@ void manager_set_show_status(Manager *m, ShowStatus mode) {
40854085

40864086
bool enabled = show_status_on(mode);
40874087
if (mode != m->show_status)
4088-
log_debug("%s showing of status (%s).",
4088+
log_debug("%s (%s) showing of status (%s).",
40894089
enabled ? "Enabling" : "Disabling",
4090-
strna(show_status_to_string(mode)));
4090+
strna(show_status_to_string(mode)),
4091+
reason);
40914092
m->show_status = mode;
40924093

40934094
if (enabled)

src/core/manager.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -505,11 +505,11 @@ void disable_printk_ratelimit(void);
505505
void manager_recheck_dbus(Manager *m);
506506
void manager_recheck_journal(Manager *m);
507507

508-
void manager_set_show_status(Manager *m, ShowStatus mode);
508+
void manager_set_show_status(Manager *m, ShowStatus mode, const char *reason);
509509
void manager_set_first_boot(Manager *m, bool b);
510510

511511
void manager_status_printf(Manager *m, StatusType type, const char *status, const char *format, ...) _printf_(4,5);
512-
void manager_flip_auto_status(Manager *m, bool enable);
512+
void manager_flip_auto_status(Manager *m, bool enable, const char *reason);
513513

514514
Set *manager_get_units_requiring_mounts_for(Manager *m, const char *path);
515515

0 commit comments

Comments
 (0)
X Tutup