X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Futils-jbus.c;fp=src%2Futils-jbus.c;h=408d65c8d48d9010ef77ddef63f540ab075dc5f0;hb=10ce08a3706339eb354296ce7c0101f0b1df1acf;hp=3bea2c230b7a8a869d5531014bb1f1cd7e3133bc;hpb=2ddd0a58dae834f173277e51488f6ba30f1cad6a;p=src%2Fapp-framework-main.git diff --git a/src/utils-jbus.c b/src/utils-jbus.c index 3bea2c2..408d65c 100644 --- a/src/utils-jbus.c +++ b/src/utils-jbus.c @@ -719,9 +719,20 @@ void jbus_addref(struct jbus *jbus) void jbus_unref(struct jbus *jbus) { struct jservice *srv; + struct jsignal *sig; + struct jrespw *wtr; if (!--jbus->refcount) { if (jbus->connection != NULL) dbus_connection_unref(jbus->connection); + while ((wtr = jbus->waiters) != NULL) { + jbus->waiters = wtr->next; + free(wtr); + } + while ((sig = jbus->signals) != NULL) { + jbus->signals = sig->next; + free(sig->name); + free(sig); + } while ((srv = jbus->services) != NULL) { jbus->services = srv->next; free(srv->method);