aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorKenny Levinsen <kl@kl.wtf>2021-09-20 23:43:11 +0200
committerKenny Levinsen <kl@kl.wtf>2021-09-21 11:18:18 +0200
commitdb08fb921f8ea13202a487dcea2fdd3914b87dfd (patch)
tree3173ceeccce6ecd5db3b51ee34a75bc6d9212323 /include
parent2eee9aa445e3f9dc6a7ca115489f87b10f60b9ba (diff)
logind: Send ping to wake us up later
sd_bus_call drains received messages into the receive queue, and peeks for its own return value. It does not dispatch the receive queue. As the socket is drained, the caller will not wake from a poll and have no reason to dispatch libseat. This has gone unnoticed largely due to logind sending an event for every device, making it unlikely that no unread message will be left on the socket. Like we have done for seatd, we fix this by sending a "ping" request to logind if anything is left in our receive queue as reported by sd_bus_get_events. The response to this will wake us up and ensure that dispatch is called.
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions