Keep looking for the daemon whenever there is none
A daemon going away -- an upgrade, a re-exec, a crash -- is waited for without calling it, so that none is ever started behind the user's back: one coming back is found through its history turning up. What that says, and when the wait gives up, is daemon_presence; retry_daemon starts it over.
With activate, a client that has no daemon now asks for one straight away, which starts it: for a caller the user has just
opened, whose own calls would be starting one anyway. Without it, the wait starts from its beginning.
| this |
a Client instance |
| activate |
whether to ask for a daemon now, starting one if there is none |