monitor: remove an unnecessary mutex in request_client 39/272139/1
authorSung-hun Kim <sfoon.kim@samsung.com>
Thu, 10 Mar 2022 03:42:57 +0000 (12:42 +0900)
committerSung-hun Kim <sfoon.kim@samsung.com>
Thu, 10 Mar 2022 03:42:57 +0000 (12:42 +0900)
resource_table in request_client is only accessed by
the owner thread. Thus, such member does not need to
be protected from concurrent accesses.

Change-Id: I942e9b8a8de3a0bfb1d3a33fc249ebc1c3f2cb56
Signed-off-by: Sung-hun Kim <sfoon.kim@samsung.com>
include/util/request-handler.h
src/monitor/request-handler.c

index 87f8d0e..d7eadc8 100644 (file)
@@ -30,7 +30,6 @@ struct request_client {
        int nr_resources;
        struct thread *worker;
        GHashTable *resource_table;
-       GMutex mutex;
 };
 
 #define REQUEST_BUFFER_MAX 1000
index 8082e81..ac0cffd 100644 (file)
@@ -53,19 +53,14 @@ static void finalize_request_client(struct request_client *client)
        if (!client)
                return;
 
-       if (client->resource_table) {
-               g_mutex_lock(&client->mutex);
+       if (client->resource_table)
                g_hash_table_foreach(client->resource_table, (GHFunc)free_resource, NULL);
-               g_mutex_unlock(&client->mutex);
-       }
 }
 
 static void
 register_resource_to_client(struct request_client *client, struct resource *res)
 {
-       g_mutex_lock(&client->mutex);
        g_hash_table_insert(client->resource_table, (gpointer)&res->id, (gpointer)res);
-       g_mutex_unlock(&client->mutex);
 }
 
 static struct resource *
@@ -73,9 +68,7 @@ get_resource_by_id(struct request_client *client, int resource_id)
 {
        struct resource *res;
 
-       g_mutex_lock(&client->mutex);
        res = g_hash_table_lookup(client->resource_table, (gpointer)&resource_id);
-       g_mutex_unlock(&client->mutex);
 
        return res;
 }
@@ -336,8 +329,6 @@ int create_request_client(int socket_fd)
        client->id = socket_fd;
        client->resource_table = g_hash_table_new(g_int_hash, g_int_equal);
 
-       g_mutex_init(&client->mutex);
-
        create_daemon_thread(&client->worker, request_handler_func, client);
 
        add_client_to_list(client);