X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fjournal%2Fjournald-syslog.c;h=fee7d9157218e735456e6e736c6ff061722cdd4b;hb=e0dd92729e68e0005866a890d8209ddcf3568805;hp=80eb9ff2db29cd971ff5e23d3a133df2bde2b9c6;hpb=f9a810bedacf1da7c505c1786a2416d592665926;p=elogind.git diff --git a/src/journal/journald-syslog.c b/src/journal/journald-syslog.c index 80eb9ff2d..fee7d9157 100644 --- a/src/journal/journald-syslog.c +++ b/src/journal/journald-syslog.c @@ -30,6 +30,7 @@ #include "journald-syslog.h" #include "journald-kmsg.h" #include "journald-console.h" +#include "journald-wall.h" /* Warn once every 30s if we missed syslog message */ #define WARN_FORWARD_SYSLOG_MISSED_USEC (30 * USEC_PER_SEC) @@ -45,7 +46,7 @@ static void forward_syslog_iovec(Server *s, const struct iovec *iovec, unsigned .msg_iovlen = n_iovec, .msg_name = &sa, .msg_namelen = offsetof(union sockaddr_union, un.sun_path) - + sizeof("/run/systemd/journal/syslog") - 1, + + strlen("/run/systemd/journal/syslog"), }; struct cmsghdr *cmsg; union { @@ -380,6 +381,9 @@ void server_process_syslog_message( if (s->forward_to_console) server_forward_console(s, priority, identifier, buf, ucred); + if (s->forward_to_wall) + server_forward_wall(s, priority, identifier, buf, ucred); + IOVEC_SET_STRING(iovec[n++], "_TRANSPORT=syslog"); if (asprintf(&syslog_priority, "PRIORITY=%i", priority & LOG_PRIMASK) >= 0) @@ -468,7 +472,7 @@ int server_open_syslog_socket(Server *s) { return -errno; } - r = sd_event_add_io(s->event, s->syslog_fd, EPOLLIN, process_datagram, s, &s->syslog_event_source); + r = sd_event_add_io(s->event, &s->syslog_event_source, s->syslog_fd, EPOLLIN, process_datagram, s); if (r < 0) { log_error("Failed to add syslog server fd to event loop: %s", strerror(-r)); return r;