[PATCH 1/2] Fix dbus part of corosync-notifyd

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Function dbus_connection_read_write which causes block for 0.5 sec is
replaced by correct dispatching of input and flushing of output buffer.

Signed-off-by: Jan Friesse <jfriesse@xxxxxxxxxx>
---
 tools/corosync-notifyd.c |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/tools/corosync-notifyd.c b/tools/corosync-notifyd.c
index dd7f5d1..9409b86 100644
--- a/tools/corosync-notifyd.c
+++ b/tools/corosync-notifyd.c
@@ -424,7 +424,14 @@ static void
 _cs_dbus_auto_flush(void)
 {
 	dbus_connection_ref(db);
-	dbus_connection_read_write(db, 500);
+	while (dbus_connection_get_dispatch_status(db) == DBUS_DISPATCH_DATA_REMAINS) {
+		dbus_connection_dispatch(db);
+	}
+
+	while (dbus_connection_has_messages_to_send(db)) {
+		dbus_connection_flush(db);
+	}
+
 	dbus_connection_unref(db);
 }
 
-- 
1.7.1

_______________________________________________
discuss mailing list
discuss@xxxxxxxxxxxx
http://lists.corosync.org/mailman/listinfo/discuss


[Index of Archives]     [Linux Clusters]     [Corosync Project]     [Linux USB Devel]     [Linux Audio Users]     [Photo]     [Yosemite News]    [Yosemite Photos]    [Linux Kernel]     [Linux SCSI]     [X.Org]

  Powered by Linux