summaryrefslogtreecommitdiff
path: root/src/bus-proxyd/proxy.c
diff options
context:
space:
mode:
authorDaniel Mack <github@zonque.org>2015-07-31 15:03:49 +0200
committerDaniel Mack <github@zonque.org>2015-07-31 15:03:49 +0200
commit832089af55fc739d5ea7cec8cb8212344c80aa74 (patch)
tree0886bd7524357bb5033470a48c7b3aa7ebcd2cee /src/bus-proxyd/proxy.c
parent0810bc568ace619b16e440805e93256730d45541 (diff)
parent11f254be0c27b1944a1df8e7c14d83e56ebe7d9b (diff)
Merge pull request #805 from dvdhrm/proxy-activation
bus-proxy: make StartServiceByName synchronous
Diffstat (limited to 'src/bus-proxyd/proxy.c')
-rw-r--r--src/bus-proxyd/proxy.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/bus-proxyd/proxy.c b/src/bus-proxyd/proxy.c
index c37b09b9c0..b3ec048d03 100644
--- a/src/bus-proxyd/proxy.c
+++ b/src/bus-proxyd/proxy.c
@@ -261,9 +261,18 @@ int proxy_new(Proxy **out, int in_fd, int out_fd, const char *destination) {
}
Proxy *proxy_free(Proxy *p) {
+ ProxyActivation *activation;
+
if (!p)
return NULL;
+ while ((activation = p->activations)) {
+ LIST_REMOVE(activations_by_proxy, p->activations, activation);
+ sd_bus_message_unref(activation->request);
+ sd_bus_slot_unref(activation->slot);
+ free(activation);
+ }
+
sd_bus_flush_close_unref(p->local_bus);
sd_bus_flush_close_unref(p->destination_bus);
set_free_free(p->owned_names);