summaryrefslogtreecommitdiff
path: root/src/sleep
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2016-10-07 12:08:51 +0200
committerLennart Poettering <lennart@poettering.net>2016-10-07 12:08:51 +0200
commitc55ae51e77e1fc56fde7bc3466dd2021ff3856cb (patch)
treed25b394f22ddd77bb162ceb470ca12ab924ad09b /src/sleep
parentfd9b26c6f208dda8e7235c7c793df2b5f162d015 (diff)
manager: don't ever busy loop when we get a notification message we can't process
If the kernel doesn't permit us to dequeue/process an incoming notification datagram message it's still better to stop processing the notification messages altogether than to enter a busy loop where we keep getting notified but can't do a thing about it. With this change, manager_dispatch_notify_fd() behaviour is changed like this: - if an error indicating a spurious wake-up is seen on recvmsg(), ignore it (EAGAIN/EINTR) - if any other error is seen on recvmsg() propagate it, thus disabling processing of further wakeups - if any error is seen on later code in the function, warn about it but do not propagate it, as in this cas we're not going to busy loop as the offending message is already dequeued.
Diffstat (limited to 'src/sleep')
0 files changed, 0 insertions, 0 deletions