1
0
mirror of https://github.com/systemd/systemd synced 2025-10-06 00:13:24 +02:00

core: console status fixes (#39029)

This commit is contained in:
Mike Yuan
2025-09-19 20:30:11 +02:00
committed by GitHub
4 changed files with 16 additions and 6 deletions

View File

@@ -772,8 +772,8 @@ static void job_emit_done_message(Unit *u, uint32_t job_id, JobType t, JobResult
/* No message on the console if the job did not actually do anything due to unmet condition. */
if (console_only)
return;
else
do_console = false;
do_console = false;
}
if (!console_only) { /* Skip printing if output goes to the console, and job_print_status_message()

View File

@@ -4525,10 +4525,10 @@ static bool manager_should_show_status(Manager *m, StatusType type) {
return false;
/* If we cannot find out the status properly, just proceed. */
if (type != STATUS_TYPE_EMERGENCY && manager_check_ask_password(m) > 0)
if (type < STATUS_TYPE_EMERGENCY && manager_check_ask_password(m) > 0)
return false;
if (type == STATUS_TYPE_NOTICE && m->show_status != SHOW_STATUS_NO)
if (type >= STATUS_TYPE_NOTICE && manager_get_show_status(m) != SHOW_STATUS_NO)
return true;
return manager_get_show_status_on(m);

View File

@@ -1825,7 +1825,15 @@ static bool unit_test_assert(Unit *u) {
return u->assert_result;
}
void unit_status_printf(Unit *u, StatusType status_type, const char *status, const char *format, const char *ident) {
void unit_status_printf(
Unit *u,
StatusType status_type,
const char *status,
const char *format,
const char *ident) {
assert(u);
if (log_get_show_color()) {
if (u->manager->status_unit_format == STATUS_UNIT_FORMAT_COMBINED && strchr(ident, ' '))
ident = strjoina(ANSI_HIGHLIGHT, u->id, ANSI_NORMAL, " - ", u->description);

View File

@@ -52,10 +52,12 @@ typedef enum OOMPolicy {
} OOMPolicy;
typedef enum StatusType {
STATUS_TYPE_EPHEMERAL,
STATUS_TYPE_EPHEMERAL, /* ordered by severity! Do not break order */
STATUS_TYPE_NORMAL,
STATUS_TYPE_NOTICE,
STATUS_TYPE_EMERGENCY,
_STATUS_TYPE_MAX,
_STATUS_TYPE_INVALID = -EINVAL,
} StatusType;
static inline bool UNIT_IS_ACTIVE_OR_RELOADING(UnitActiveState t) {