no way to exit a dbus server without creating a race condition
Submitted by Allison Lortie
Assigned to D-Bus Maintainers
i believe that it is sane to have some dbus services exit (for example, after a period of activity). as far as i can tell (and from some simple testing) there is absolutely no way to do this without creating a race condition.
if a message is delivered to the server just as it is exiting then the message becomes lost forever and the client receives a timeout error.
ideally, for the activation case the server should be reactivated and the message resent. for the non-activation case, the client should receive the same error message that they receive if the server is not running (since a timeout error indicates that probably the server has become wedged).
see the attached example.