Fix cleanup and unregistration procedures
authorMarcel Holtmann <marcel@holtmann.org>
Fri, 5 Dec 2008 19:21:08 +0000 (20:21 +0100)
committerMarcel Holtmann <marcel@holtmann.org>
Fri, 5 Dec 2008 19:21:08 +0000 (20:21 +0100)
src/element.c
src/main.c

index 8abfd0d..370713a 100644 (file)
@@ -1775,9 +1775,8 @@ static gboolean remove_element(GNode *node, gpointer user_data)
        return FALSE;
 }
 
-static void unregister_element(gpointer data, gpointer user_data)
+void connman_element_unregister(struct connman_element *element)
 {
-       struct connman_element *element = data;
        GNode *node;
 
        DBG("element %p name %s", element, element->name);
@@ -1793,16 +1792,8 @@ static void unregister_element(gpointer data, gpointer user_data)
        g_static_rw_lock_writer_unlock(&element_lock);
 }
 
-void connman_element_unregister(struct connman_element *element)
-{
-       DBG("element %p name %s", element, element->name);
-
-       unregister_element(element, NULL);
-}
-
-static void unregister_children(gpointer data, gpointer user_data)
+void connman_element_unregister_children(struct connman_element *element)
 {
-       struct connman_element *element = data;
        GNode *node;
 
        DBG("element %p name %s", element, element->name);
@@ -1818,13 +1809,6 @@ static void unregister_children(gpointer data, gpointer user_data)
        g_static_rw_lock_writer_unlock(&element_lock);
 }
 
-void connman_element_unregister_children(struct connman_element *element)
-{
-       DBG("element %p name %s", element, element->name);
-
-       unregister_children(element, NULL);
-}
-
 static gboolean update_element(GNode *node, gpointer user_data)
 {
        struct connman_element *element = node->data;
@@ -1929,7 +1913,7 @@ static gboolean free_node(GNode *node, gpointer data)
        DBG("element %p name %s", element, element->name);
 
        if (g_node_depth(node) > 1)
-               unregister_element(element, NULL);
+               connman_element_unregister(element);
 
        return FALSE;
 }
index 5810813..000847d 100644 (file)
@@ -163,19 +163,19 @@ int main(int argc, char *argv[])
 
        g_main_loop_run(main_loop);
 
-       __connman_rtnl_cleanup();
-
-       __connman_agent_cleanup();
+       __connman_plugin_cleanup();
 
-       __connman_element_cleanup();
+       __connman_rtnl_cleanup();
 
        __connman_profile_cleanup();
 
        __connman_manager_cleanup();
 
-       __connman_storage_cleanup();
+       __connman_agent_cleanup();
 
-       __connman_plugin_cleanup();
+       __connman_element_cleanup();
+
+       __connman_storage_cleanup();
 
        __connman_log_cleanup();