From c4bc1a8434f2a34840ea6f63064fa998ecfae738 Mon Sep 17 00:00:00 2001 From: David Herrmann Date: Sat, 17 Jan 2015 18:07:58 +0100 Subject: bus-proxy: share policy between threads This implements a shared policy cache with read-write locks. We no longer parse the XML policy in each thread. This will allow us to easily implement ReloadConfig(). --- src/bus-proxyd/proxy.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'src/bus-proxyd/proxy.h') diff --git a/src/bus-proxyd/proxy.h b/src/bus-proxyd/proxy.h index 08994fe50..21c34f1d3 100644 --- a/src/bus-proxyd/proxy.h +++ b/src/bus-proxyd/proxy.h @@ -37,8 +37,7 @@ struct Proxy { sd_bus *dest_bus; Set *owned_names; - Policy policy_buffer; - Policy *policy; + SharedPolicy *policy; bool got_hello : 1; }; @@ -46,7 +45,7 @@ struct Proxy { int proxy_new(Proxy **out, int in_fd, int out_fd, const char *dest); Proxy *proxy_free(Proxy *p); -int proxy_load_policy(Proxy *p, char **configuration); +int proxy_set_policy(Proxy *p, SharedPolicy *policy, char **configuration); int proxy_hello_policy(Proxy *p, uid_t original_uid); int proxy_run(Proxy *p); -- cgit v1.2.3