]>
git.ipfire.org Git - thirdparty/systemd.git/blob - src/journal/journald-wall.c
1 /* SPDX-License-Identifier: LGPL-2.1+ */
3 #include "alloc-util.h"
4 #include "format-util.h"
5 #include "journald-server.h"
6 #include "journald-wall.h"
7 #include "process-util.h"
8 #include "string-util.h"
11 void server_forward_wall(
14 const char *identifier
,
16 const struct ucred
*ucred
) {
18 _cleanup_free_
char *ident_buf
= NULL
, *l_buf
= NULL
;
25 if (LOG_PRI(priority
) > s
->max_level_wall
)
30 get_process_comm(ucred
->pid
, &ident_buf
);
31 identifier
= ident_buf
;
34 if (asprintf(&l_buf
, "%s["PID_FMT
"]: %s", strempty(identifier
), ucred
->pid
, message
) < 0) {
41 } else if (identifier
) {
43 l
= l_buf
= strjoin(identifier
, ": ", message
);
51 r
= utmp_wall(l
, "systemd-journald", NULL
, NULL
, NULL
);
53 log_debug_errno(r
, "Failed to send wall message: %m");