From bf650bc39188c86cec8a11097f2c341e3f1b54b1 Mon Sep 17 00:00:00 2001
From: José Bollo <jose.bollo@iot.bzh>
Date: Tue, 9 Feb 2016 17:42:22 +0100
Subject: utils-jbus: fix bug that blocked
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Change-Id: Icabab6e070b4c4b8e1357b199daf995c47090ad3
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
---
 src/utils-jbus.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/utils-jbus.c b/src/utils-jbus.c
index 7000009..67e3ce4 100644
--- a/src/utils-jbus.c
+++ b/src/utils-jbus.c
@@ -669,6 +669,7 @@ int jbus_dispatch_multiple(struct jbus **jbuses, int njbuses, int maxcount)
 
 	for (i = r = 0 ; i < njbuses && r < maxcount ; i++) {
 		dbus_connection_read_write(jbuses[i]->connection, 0);
+		sts = dbus_connection_get_dispatch_status(jbuses[i]->connection);
 		while(sts == DBUS_DISPATCH_DATA_REMAINS &&  r < maxcount) {
 			sts = dbus_connection_dispatch(jbuses[i]->connection);
 			r++;
@@ -690,6 +691,8 @@ int jbus_read_write_dispatch_multiple(struct jbus **jbuses, int njbuses, int tom
 	assert(fds != NULL);
 
 	r = jbus_dispatch_multiple(jbuses, njbuses, maxcount);
+	if (r)
+		return r;
 	n = jbus_fill_pollfds(jbuses, njbuses, fds);
 	for(;;) {
 		s = poll(fds, n, toms);
-- 
cgit