diff options
author | Kenny Levinsen <kl@kl.wtf> | 2021-09-20 23:43:11 +0200 |
---|---|---|
committer | Kenny Levinsen <kl@kl.wtf> | 2021-09-21 11:18:18 +0200 |
commit | db08fb921f8ea13202a487dcea2fdd3914b87dfd (patch) | |
tree | 3173ceeccce6ecd5db3b51ee34a75bc6d9212323 /tests/linked_list.c | |
parent | 2eee9aa445e3f9dc6a7ca115489f87b10f60b9ba (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 'tests/linked_list.c')
0 files changed, 0 insertions, 0 deletions