From: Daniel Wagner <[email protected]>
---
plugins/session_policy_local.c | 24 ++++++++++++++++++------
1 file changed, 18 insertions(+), 6 deletions(-)
diff --git a/plugins/session_policy_local.c b/plugins/session_policy_local.c
index 12d61c2..0df4e74 100644
--- a/plugins/session_policy_local.c
+++ b/plugins/session_policy_local.c
@@ -65,6 +65,8 @@ static void cleanup_policy(gpointer user_data)
{
struct policy_data *policy = user_data;
+ DBG("policy %p", policy);
+
if (policy->config != NULL)
g_slist_free(policy->config->allowed_bearers);
@@ -116,6 +118,8 @@ static struct policy_data *create_policy(const char *ident)
policy = g_new0(struct policy_data, 1);
policy->refcount = 1;
+ DBG("policy %p", policy);
+
policy->config = connman_session_create_default_config();
policy->ident = g_strdup(ident);
@@ -349,10 +353,15 @@ static int load_policy(struct policy_data *policy)
return err;
}
-static void update_session(struct connman_session *session)
+static void update_session(struct policy_data *policy)
{
- if (connman_session_config_update(session) < 0)
- connman_session_destroy(session);
+ DBG("policy %p session %p", policy, policy->session);
+
+ if (policy->session == NULL)
+ return;
+
+ if (connman_session_config_update(policy->session) < 0)
+ connman_session_destroy(policy->session);
}
static void remove_policy(struct policy_data *policy)
@@ -368,7 +377,7 @@ static void remove_policy(struct policy_data *policy)
return;
connman_session_set_default_config(policy->config);
- update_session(policy->session);
+ update_session(policy);
}
static void notify_handler(struct inotify_event *event,
@@ -414,8 +423,7 @@ static void notify_handler(struct inotify_event *event,
return;
}
- if (policy->session != NULL)
- update_session(policy->session);
+ update_session(policy);
}
static int read_policies(void)
@@ -448,6 +456,8 @@ static int session_policy_local_init(void)
{
int err;
+ DBG("");
+
/* If the dir doesn't exist, create it */
if (g_file_test(POLICYDIR, G_FILE_TEST_IS_DIR) == FALSE) {
if (mkdir(POLICYDIR, MODE) < 0) {
@@ -498,6 +508,8 @@ err:
static void session_policy_local_exit(void)
{
+ DBG("");
+
g_hash_table_destroy(session_hash);
g_hash_table_destroy(policy_hash);
--
1.8.2.rc3.16.gce432ca
_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman