From: Daniel Wagner <[email protected]>
The simplest way to let service.c recheck the configuration
is to toggle via __connman_service_set_active_session().
---
src/session.c | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/session.c b/src/session.c
index 27e9648..6734737 100644
--- a/src/session.c
+++ b/src/session.c
@@ -995,13 +995,13 @@ int connman_session_config_update(struct connman_session
*session)
g_slist_free(info->config.allowed_bearers);
info->config.allowed_bearers = allowed_bearers;
- __connman_service_set_active_session(session, true,
- info->config.allowed_bearers);
-
info->config.type = apply_policy_on_type(
session->policy_config->type,
info->config.type);
+ __connman_service_set_active_session(session, true,
+ info->config.allowed_bearers);
+
info->config.roaming_policy = session->policy_config->roaming_policy;
info->config.ecall = session->policy_config->ecall;
@@ -1115,6 +1115,12 @@ static DBusMessage *change_session(DBusConnection *conn,
info->config.type = apply_policy_on_type(
session->policy_config->type,
connman_session_parse_connection_type(val));
+ __connman_service_set_active_session(session,
+ false,
+ info->config.allowed_bearers);
+ __connman_service_set_active_session(session,
+ true,
+ info->config.allowed_bearers);
} else {
goto err;
}
--
1.8.4.474.g128a96c
_______________________________________________
connman mailing list
[email protected]
https://lists.connman.net/mailman/listinfo/connman