Remove usage of reader/write lock
authorMarcel Holtmann <marcel@holtmann.org>
Thu, 11 Dec 2008 23:45:36 +0000 (00:45 +0100)
committerMarcel Holtmann <marcel@holtmann.org>
Thu, 11 Dec 2008 23:45:36 +0000 (00:45 +0100)
src/element.c
src/resolver.c
src/rtnl.c
src/security.c

index 16a7d27..93c31df 100644 (file)
 
 static DBusConnection *connection;
 
-static GStaticRWLock element_lock = G_STATIC_RW_LOCK_INIT;
 static GNode *element_root = NULL;
-
 static GSList *driver_list = NULL;
-
 static gchar *device_filter = NULL;
 
 static struct {
@@ -884,10 +881,8 @@ void __connman_element_list(struct connman_element *element,
        } else
                node = element_root;
 
-       g_static_rw_lock_reader_lock(&element_lock);
        g_node_traverse(node, G_PRE_ORDER, G_TRAVERSE_ALL, -1,
                                                append_path, &filter);
-       g_static_rw_lock_reader_unlock(&element_lock);
 }
 
 struct count_data {
@@ -930,10 +925,8 @@ int __connman_element_count(struct connman_element *element,
        } else
                node = element_root;
 
-       g_static_rw_lock_reader_lock(&element_lock);
        g_node_traverse(node, G_PRE_ORDER, G_TRAVERSE_ALL, -1,
                                                count_element, &data);
-       g_static_rw_lock_reader_unlock(&element_lock);
 
        return data.count;
 }
@@ -1005,13 +998,9 @@ void __connman_driver_rescan(struct connman_driver *driver)
        if (!driver->probe)
                return;
 
-       g_static_rw_lock_writer_lock(&element_lock);
-
        if (element_root != NULL)
                g_node_traverse(element_root, G_PRE_ORDER,
                                G_TRAVERSE_ALL, -1, probe_driver, driver);
-
-       g_static_rw_lock_writer_unlock(&element_lock);
 }
 
 /**
@@ -1032,8 +1021,6 @@ int connman_driver_register(struct connman_driver *driver)
        if (!driver->probe)
                return -EINVAL;
 
-       g_static_rw_lock_writer_lock(&element_lock);
-
        driver_list = g_slist_insert_sorted(driver_list, driver,
                                                        compare_priority);
 
@@ -1041,8 +1028,6 @@ int connman_driver_register(struct connman_driver *driver)
                g_node_traverse(element_root, G_PRE_ORDER,
                                G_TRAVERSE_ALL, -1, probe_driver, driver);
 
-       g_static_rw_lock_writer_unlock(&element_lock);
-
        return 0;
 }
 
@@ -1091,15 +1076,11 @@ void connman_driver_unregister(struct connman_driver *driver)
 {
        DBG("driver %p name %s", driver, driver->name);
 
-       g_static_rw_lock_writer_lock(&element_lock);
-
        driver_list = g_slist_remove(driver_list, driver);
 
        if (element_root != NULL)
                g_node_traverse(element_root, G_POST_ORDER,
                                G_TRAVERSE_ALL, -1, remove_driver, driver);
-
-       g_static_rw_lock_writer_unlock(&element_lock);
 }
 
 /**
@@ -1754,8 +1735,6 @@ static void register_element(gpointer data, gpointer user_data)
        GSList *list;
        GNode *node;
 
-       g_static_rw_lock_writer_lock(&element_lock);
-
        __connman_element_lock(element);
 
        if (element->parent) {
@@ -1833,12 +1812,8 @@ static void register_element(gpointer data, gpointer user_data)
                                                        DBUS_TYPE_INVALID);
 #endif
 
-       g_static_rw_lock_writer_unlock(&element_lock);
-
        __connman_element_store(element);
 
-       g_static_rw_lock_writer_lock(&element_lock);
-
        for (list = driver_list; list; list = list->next) {
                struct connman_driver *driver = list->data;
 
@@ -1856,8 +1831,6 @@ static void register_element(gpointer data, gpointer user_data)
                        break;
                }
        }
-
-       g_static_rw_lock_writer_unlock(&element_lock);
 }
 
 /**
@@ -1976,15 +1949,11 @@ void connman_element_unregister(struct connman_element *element)
 
        DBG("element %p name %s", element, element->name);
 
-       g_static_rw_lock_writer_lock(&element_lock);
-
        node = g_node_find(element_root, G_PRE_ORDER, G_TRAVERSE_ALL, element);
 
        if (node != NULL)
                g_node_traverse(node, G_POST_ORDER,
                                G_TRAVERSE_ALL, -1, remove_element, NULL);
-
-       g_static_rw_lock_writer_unlock(&element_lock);
 }
 
 void connman_element_unregister_children(struct connman_element *element)
@@ -1993,15 +1962,11 @@ void connman_element_unregister_children(struct connman_element *element)
 
        DBG("element %p name %s", element, element->name);
 
-       g_static_rw_lock_writer_lock(&element_lock);
-
        node = g_node_find(element_root, G_PRE_ORDER, G_TRAVERSE_ALL, element);
 
        if (node != NULL)
                g_node_traverse(node, G_POST_ORDER,
                                G_TRAVERSE_ALL, -1, remove_element, element);
-
-       g_static_rw_lock_writer_unlock(&element_lock);
 }
 
 static gboolean update_element(GNode *node, gpointer user_data)
@@ -2029,15 +1994,11 @@ void connman_element_update(struct connman_element *element)
 
        DBG("element %p name %s", element, element->name);
 
-       g_static_rw_lock_reader_lock(&element_lock);
-
        node = g_node_find(element_root, G_PRE_ORDER, G_TRAVERSE_ALL, element);
 
        if (node != NULL)
                g_node_traverse(node, G_PRE_ORDER,
                                G_TRAVERSE_ALL, -1, update_element, NULL);
-
-       g_static_rw_lock_reader_unlock(&element_lock);
 }
 
 int connman_element_set_enabled(struct connman_element *element,
@@ -2065,8 +2026,6 @@ int __connman_element_init(DBusConnection *conn, const char *device)
 
        device_filter = g_strdup(device);
 
-       g_static_rw_lock_writer_lock(&element_lock);
-
        element = connman_element_create("root");
 
        element->path = g_strdup("/");
@@ -2076,8 +2035,6 @@ int __connman_element_init(DBusConnection *conn, const char *device)
 
        element_root = g_node_new(element);
 
-       g_static_rw_lock_writer_unlock(&element_lock);
-
        __connman_device_init();
 
        return 0;
@@ -2119,20 +2076,14 @@ void __connman_element_cleanup(void)
 
        __connman_device_cleanup();
 
-       g_static_rw_lock_writer_lock(&element_lock);
        g_node_traverse(element_root, G_POST_ORDER, G_TRAVERSE_ALL, -1,
                                                        free_driver, NULL);
-       g_static_rw_lock_writer_unlock(&element_lock);
 
-       g_static_rw_lock_writer_lock(&element_lock);
        g_node_traverse(element_root, G_POST_ORDER, G_TRAVERSE_ALL, -1,
                                                        free_node, NULL);
-       g_static_rw_lock_writer_unlock(&element_lock);
 
-       g_static_rw_lock_writer_lock(&element_lock);
        g_node_destroy(element_root);
        element_root = NULL;
-       g_static_rw_lock_writer_unlock(&element_lock);
 
        g_free(device_filter);
 
index 404bc3d..929fd2e 100644 (file)
@@ -25,7 +25,6 @@
 
 #include "connman.h"
 
-static GStaticRWLock resolver_lock = G_STATIC_RW_LOCK_INIT;
 static GSList *resolver_list = NULL;
 
 /**
@@ -40,12 +39,8 @@ int connman_resolver_register(struct connman_resolver *resolver)
 {
        DBG("resolver %p name %s", resolver, resolver->name);
 
-       g_static_rw_lock_writer_lock(&resolver_lock);
-
        resolver_list = g_slist_append(resolver_list, resolver);
 
-       g_static_rw_lock_writer_unlock(&resolver_lock);
-
        return 0;
 }
 
@@ -59,9 +54,5 @@ void connman_resolver_unregister(struct connman_resolver *resolver)
 {
        DBG("resolver %p name %s", resolver, resolver->name);
 
-       g_static_rw_lock_writer_lock(&resolver_lock);
-
        resolver_list = g_slist_remove(resolver_list, resolver);
-
-       g_static_rw_lock_writer_unlock(&resolver_lock);
 }
index 1e66a9a..ece4f16 100644 (file)
@@ -36,7 +36,6 @@
 
 #include "connman.h"
 
-static GStaticRWLock rtnl_lock = G_STATIC_RW_LOCK_INIT;
 static GSList *rtnl_list = NULL;
 
 static gint compare_priority(gconstpointer a, gconstpointer b)
@@ -59,13 +58,9 @@ int connman_rtnl_register(struct connman_rtnl *rtnl)
 {
        DBG("rtnl %p name %s", rtnl, rtnl->name);
 
-       g_static_rw_lock_writer_lock(&rtnl_lock);
-
        rtnl_list = g_slist_insert_sorted(rtnl_list, rtnl,
                                                        compare_priority);
 
-       g_static_rw_lock_writer_unlock(&rtnl_lock);
-
        return 0;
 }
 
@@ -79,11 +74,7 @@ void connman_rtnl_unregister(struct connman_rtnl *rtnl)
 {
        DBG("rtnl %p name %s", rtnl, rtnl->name);
 
-       g_static_rw_lock_writer_lock(&rtnl_lock);
-
        rtnl_list = g_slist_remove(rtnl_list, rtnl);
-
-       g_static_rw_lock_writer_unlock(&rtnl_lock);
 }
 
 static void process_newlink(unsigned short type, int index,
@@ -93,16 +84,12 @@ static void process_newlink(unsigned short type, int index,
 
        DBG("index %d", index);
 
-       g_static_rw_lock_reader_lock(&rtnl_lock);
-
        for (list = rtnl_list; list; list = list->next) {
                struct connman_rtnl *rtnl = list->data;
 
                if (rtnl->newlink)
                        rtnl->newlink(type, index, flags, change);
        }
-
-       g_static_rw_lock_reader_unlock(&rtnl_lock);
 }
 
 static void process_dellink(unsigned short type, int index,
@@ -112,16 +99,12 @@ static void process_dellink(unsigned short type, int index,
 
        DBG("index %d", index);
 
-       g_static_rw_lock_reader_lock(&rtnl_lock);
-
        for (list = rtnl_list; list; list = list->next) {
                struct connman_rtnl *rtnl = list->data;
 
                if (rtnl->dellink)
                        rtnl->dellink(type, index, flags, change);
        }
-
-       g_static_rw_lock_reader_unlock(&rtnl_lock);
 }
 
 static inline void print_inet(struct rtattr *attr, const char *name, int family)
index c7c3ccf..41d45e4 100644 (file)
@@ -25,7 +25,6 @@
 
 #include "connman.h"
 
-static GStaticRWLock security_lock = G_STATIC_RW_LOCK_INIT;
 static GSList *security_list = NULL;
 
 static gint compare_priority(gconstpointer a, gconstpointer b)
@@ -48,13 +47,9 @@ int connman_security_register(struct connman_security *security)
 {
        DBG("security %p name %s", security, security->name);
 
-       g_static_rw_lock_writer_lock(&security_lock);
-
        security_list = g_slist_insert_sorted(security_list, security,
                                                        compare_priority);
 
-       g_static_rw_lock_writer_unlock(&security_lock);
-
        return 0;
 }
 
@@ -68,11 +63,7 @@ void connman_security_unregister(struct connman_security *security)
 {
        DBG("security %p name %s", security, security->name);
 
-       g_static_rw_lock_writer_lock(&security_lock);
-
        security_list = g_slist_remove(security_list, security);
-
-       g_static_rw_lock_writer_unlock(&security_lock);
 }
 
 int __connman_security_check_privileges(DBusMessage *message)
@@ -85,8 +76,6 @@ int __connman_security_check_privileges(DBusMessage *message)
 
        sender = dbus_message_get_sender(message);
 
-       g_static_rw_lock_reader_lock(&security_lock);
-
        for (list = security_list; list; list = list->next) {
                struct connman_security *security = list->data;
 
@@ -98,7 +87,5 @@ int __connman_security_check_privileges(DBusMessage *message)
                }
        }
 
-       g_static_rw_lock_reader_unlock(&security_lock);
-
        return err;
 }