Respond to all dbus messages
sd_bus says to call process until the return code is
no longer > 0. As we only called it once, if we got messages
frequently enough we would fail to respond to them.
Tested-by: Saw faster throughput of ipmi messages on
d-bus when powercycled 6 times
Change-Id: If461d9f3ae4098e542d668763ca0a28ec4b10851
Signed-off-by: James Feist <james.feist@linux.intel.com>
diff --git a/kcsbridged.c b/kcsbridged.c
index cd7b583..470c332 100644
--- a/kcsbridged.c
+++ b/kcsbridged.c
@@ -297,9 +297,11 @@
int r = 0;
if (context->fds[SD_BUS_FD].revents) {
- r = sd_bus_process(context->bus, NULL);
- if (r > 0)
- MSG_OUT("Processed %d dbus events\n", r);
+ // docs say to call this in a loop until no events are left
+ // to be processed
+ do {
+ r = sd_bus_process(context->bus, NULL);
+ } while (r > 0);
}
return r;