From: Daniel Wagner <daniel.wag...@bmw-carit.de>

---
 src/session.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/src/session.c b/src/session.c
index 7e6d2c5..880c7ed 100644
--- a/src/session.c
+++ b/src/session.c
@@ -276,6 +276,13 @@ static int config_get_string(struct connman_session 
*session, const char *id,
 
        return (*session->config->get_string)(id, key, val);
 }
+
+static gint compare_priority(gconstpointer a, gconstpointer b)
+{
+       const struct connman_session_config *config1 = a;
+       const struct connman_session_config *config2 = b;
+
+       return config2->priority - config1->priority;
 }
 
 static struct connman_session *session_lookup_by_id(const char *id)
@@ -344,12 +351,16 @@ int connman_session_config_register(struct 
connman_session_config *config)
 {
        DBG("name %s", config->name);
 
+       config_list = g_slist_insert_sorted(config_list, config,
+                                               compare_priority);
        return 0;
 }
 
 void connman_session_config_unregister(struct connman_session_config *config)
 {
        DBG("name %s", config->name);
+
+       config_list = g_slist_remove(config_list, config);
 }
 
 static void cleanup_bearer_info(gpointer data, gpointer user_data)
-- 
1.7.12.315.g682ce8b

_______________________________________________
connman mailing list
connman@connman.net
http://lists.connman.net/listinfo/connman

Reply via email to