diff options
author | Dan McGee <dan@archlinux.org> | 2013-12-08 13:27:05 -0600 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2013-12-10 07:40:55 -0500 |
commit | 2d43b190901902dbd98ccea77c1d1ddc9e2a9955 (patch) | |
tree | 7359df5835dbbd8f063f3e75ec6f257d65fdfd99 /src/journal/journald-server.c | |
parent | 06d461ee6f3da6650e6d023d7828455752d70b0b (diff) |
Ensure unit is journaled for short-lived or oneshot processes
In the time it takes to process incoming log messages, the process we
are logging details for may exit. This means the cgroup data is no
longer available from '/proc'. Unfortunately, the way the code was
structured before, we never log _SYSTEMD_UNIT if we don't have this
cgroup information.
Add an else if case that allows the passed in unit_id to be logged even
if we couldn't capture cgroup information. This ensures a command like
`journalctl -u run-XXX` will return all log messages from a oneshot
process.
Diffstat (limited to 'src/journal/journald-server.c')
-rw-r--r-- | src/journal/journald-server.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c index 01e75b6629..fc8115c31c 100644 --- a/src/journal/journald-server.c +++ b/src/journal/journald-server.c @@ -626,6 +626,9 @@ static void dispatch_message_real( } free(c); + } else if (unit_id) { + x = strappenda("_SYSTEMD_UNIT=", unit_id); + IOVEC_SET_STRING(iovec[n++], x); } #ifdef HAVE_SELINUX |