[systemd-devel] [hostnamed] Why the service will automatically exit after 30 seconds

Lennart Poettering lennart at poettering.net
Thu Aug 19 07:54:15 UTC 2021


On Do, 19.08.21 11:38, Michael Chapman (mike at very.puzzling.org) wrote:

> I've looked at this more closely now, and it's a bit more complicated than
> I would have liked.
>
> While hostnamed's own idle timeout can easily be disabled while a
> polkit conversation is in progress, that won't necessarily help anybody
> using hostnamectl. hostnamectl uses sd-bus's default method call timeout,
> which is 25 seconds.

If the exit-on-idle logic doesn't take outstanding policykit requests
into account that's a bug and should be fixed. Please file a github issue.

> Perhaps this should be increased for method calls that are likely to
> result in using polkit? 25 seconds might be too short for some people to
> enter their password.

We have a define HOME_SLOW_BUS_CALL_TIMEOUT_USEC which is what we use
for "slow" bus calls, typically, instead of of the default of 25s. We
use it wherever we expect "slow" method calls, because of
interactivity and such. It's used in a bunch of places, but likely not
at enough. File a bug if you found a place where we should.

> Is it possible for sd_bus_call to detect that the recipient of a call has
> dropped off the bus and is never going to return a response? If that were
> possible we could possibly rely on that rather than an explicit timeout. I
> think the answer to this question might be "no" though...

it detects that out-of-the-box.

Lennart

--
Lennart Poettering, Berlin


More information about the systemd-devel mailing list