diff options
author | Chengwei Yang <chengwei.yang@intel.com> | 2013-10-15 13:27:51 +0800 |
---|---|---|
committer | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2013-11-01 12:41:02 +0000 |
commit | 5be1e77829680ad1beac235d2f454570991ee36e (patch) | |
tree | 0be89b330f69e724b68b2c6f1aff4a38f342eb56 /configure.ac | |
parent | ec6ea1a6a8ad1d5e3c1280a55207e9b4f5742814 (diff) | |
download | dbus-5be1e77829680ad1beac235d2f454570991ee36e.tar.gz |
Handle activated child stdout/stderr correctly in systemd environment
In systemd environment, dbus-daemon will run as no-fork mode since this
is the recommended practice of systemd.
In that scenario, child activated by dbus-daemon will inherit
dbus-daemon standard streams, includes stdin/stdout/stderr. stdin will
be redirected to /dev/null by systemd and stdout/stderr will be catched
by systemd log subsystem. Since the child inherit stdout/stderr from
dbus-daemon, so from systemd journal log, the child log output will be
identified with dbus-daemon identifier. So it's a little confusing.
This patch redirects the child stdout/stderr to systemd journal stream,
and with its owned service name as identifier. However, thing not fixed
perfectly due to the socket ucred of the child is owned by dbus-daemon,
so the pid isn't the real pid of the chile.
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=68559
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac index b29c8f09..37e555b9 100644 --- a/configure.ac +++ b/configure.ac @@ -1143,7 +1143,7 @@ if test x$enable_systemd = xno ; then have_systemd=no; else PKG_CHECK_MODULES(SYSTEMD, - [libsystemd-login >= 32, libsystemd-daemon >= 32], + [libsystemd-login >= 32, libsystemd-daemon >= 32, libsystemd-journal >= 32], have_systemd=yes, have_systemd=no) fi |