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