]> git.ipfire.org Git - thirdparty/systemd.git/commit - src/login/logind.c
logind: fix delayed execution regression 377/head
authorDaniel Mack <daniel@zonque.org>
Mon, 8 Jun 2015 20:58:50 +0000 (22:58 +0200)
committerDaniel Mack <daniel@zonque.org>
Thu, 25 Jun 2015 15:18:41 +0000 (17:18 +0200)
commit418b22b88f79911fe5d76fabedd18ef1eb491680
treebec913e91eab644d6f7fe76fd3a9e751f4eda84c
parent906fa490769c4bdb3be1e90ac7d16f66120608c7
logind: fix delayed execution regression

Commit c0f32805 ("logind: use sd_event timer source for inhibitor
logic") reworked the main loop logic of logind so that it uses a
real timeout callback handler to execute delayed functions.

What the old code did, however, was to call those functions on
every iteration in the main loop, not only when the timeout
expired.

Restore that behavior by bringing back manager_dispatch_delayed(),
and call it from manager_run(). The internal event source callback
manager_inhibit_timeout_handler() was turned into a wrapper of
manager_dispatch_delayed() now.
src/login/logind-dbus.c
src/login/logind.c
src/login/logind.h