Most daemons (including OpenSSH) are restarted in  their package's maintainer scripts when new versions are installed.   This has many benefits: when a new version is installed, you know it is  running, so you can more easily track security and other bug problems. However,  D-BUS does not allow for this.  When the bus is restarted, all the  applications using it fall off and do not reconnect gracefully.  This is  partially because app maintainers refuse to because restarting D-BUS is  not The Way And The Light, and partially because the library is  fundamentally broken in this regard. Currently  the D-BUS library forces an exit() when the bus dies; overriding this  does not allow you to gracefully reconnect to the bus, however.
