Ignore exit code zero from activated services
authorColin Walters <walters@verbum.org>
Mon, 14 Dec 2009 23:12:24 +0000 (18:12 -0500)
committerColin Walters <walters@verbum.org>
Tue, 15 Dec 2009 18:08:02 +0000 (13:08 -0500)
commit949a64b127a32a3e5a4ce4278773f18e290c44c2
tree5cd952cd8a0d671b2aeb1aabcaaa2f8f6993dd84
parentaab383a63e994f40ddf8d8341b8b75c19e6c1a0f
Ignore exit code zero from activated services

A variety of system components have migrated from legacy init into DBus
service activation.  Many of these system components "daemonize", which
involves forking.  The DBus activation system treated an exit as an
activation failure, assuming that the child process which grabbed the
DBus name didn't run first.

While we're in here, also differentiate in this code path between the
servicehelper (system) versus direct activation (session) paths.  In
the session activation path our error message mentioned a helper
process which was confusing, since none was involved.

Based on a patch and debugging research from Ray Strode <rstrode@redhat.com>
bus/activation.c
configure.in
test/data/valid-service-files/org.freedesktop.DBus.TestSuiteForkingEchoService.service.in [new file with mode: 0644]
test/name-test/Makefile.am
test/name-test/run-test.sh
test/name-test/test-activation-forking.py [new file with mode: 0644]
test/test-service.c