Rename C++ header files to .hpp
[lttng-tools.git] / src / bin / lttng-sessiond / ust-registry.cpp
index 088e8d64fedfd36e6aa7cba44ecdc74e68df553a..effb319994e98a89cabf01f2ad97bad9e37fe8c3 100644 (file)
@@ -8,16 +8,16 @@
 #define _LGPL_SOURCE
 #include <inttypes.h>
 
-#include <common/common.h>
-#include <common/hashtable/utils.h>
+#include <common/common.hpp>
+#include <common/hashtable/utils.hpp>
 #include <lttng/lttng.h>
 
-#include "ust-registry.h"
-#include "ust-app.h"
-#include "ust-field-utils.h"
-#include "utils.h"
-#include "lttng-sessiond.h"
-#include "notification-thread-commands.h"
+#include "ust-registry.hpp"
+#include "ust-app.hpp"
+#include "ust-field-utils.hpp"
+#include "utils.hpp"
+#include "lttng-sessiond.hpp"
+#include "notification-thread-commands.hpp"
 
 /*
  * Hash table match function for event in the registry.
@@ -315,7 +315,7 @@ error:
 
 /*
  * Free event data structure. This does NOT delete it from any hash table. It's
- * safe to pass a NULL pointer. This shoudl be called inside a call RCU if the
+ * safe to pass a NULL pointer. This should be called inside a call RCU if the
  * event is previously deleted from a rcu hash table.
  */
 static void destroy_event(struct ust_registry_event *event)
@@ -361,6 +361,7 @@ struct ust_registry_event *ust_registry_find_event(
        LTTNG_ASSERT(chan);
        LTTNG_ASSERT(name);
        LTTNG_ASSERT(sig);
+       ASSERT_RCU_READ_LOCKED();
 
        /* Setup key for the match function. */
        strncpy(key.name, name, sizeof(key.name));
@@ -509,6 +510,7 @@ void ust_registry_destroy_event(struct ust_registry_channel *chan,
 
        LTTNG_ASSERT(chan);
        LTTNG_ASSERT(event);
+       ASSERT_RCU_READ_LOCKED();
 
        /* Delete the node first. */
        iter.iter.node = &event->node.node;
@@ -549,6 +551,8 @@ static struct ust_registry_enum *ust_registry_lookup_enum(
        struct lttng_ht_node_str *node;
        struct lttng_ht_iter iter;
 
+       ASSERT_RCU_READ_LOCKED();
+
        cds_lfht_lookup(session->enums->ht,
                        ht_hash_enum((void *) reg_enum_lookup, lttng_ht_seed),
                        ht_match_enum, reg_enum_lookup, &iter.iter);
@@ -574,6 +578,8 @@ struct ust_registry_enum *
        struct lttng_ht_iter iter;
        struct ust_registry_enum reg_enum_lookup;
 
+       ASSERT_RCU_READ_LOCKED();
+
        memset(&reg_enum_lookup, 0, sizeof(reg_enum_lookup));
        strncpy(reg_enum_lookup.name, enum_name, LTTNG_UST_ABI_SYM_NAME_LEN);
        reg_enum_lookup.name[LTTNG_UST_ABI_SYM_NAME_LEN - 1] = '\0';
@@ -681,6 +687,7 @@ static void ust_registry_destroy_enum(struct ust_registry_session *reg_session,
 
        LTTNG_ASSERT(reg_session);
        LTTNG_ASSERT(reg_enum);
+       ASSERT_RCU_READ_LOCKED();
 
        /* Delete the node first. */
        iter.iter.node = &reg_enum->node.node;
@@ -689,12 +696,6 @@ static void ust_registry_destroy_enum(struct ust_registry_session *reg_session,
        call_rcu(&reg_enum->rcu_head, destroy_enum_rcu);
 }
 
-/*
- * We need to execute ht_destroy outside of RCU read-side critical
- * section and outside of call_rcu thread, so we postpone its execution
- * using ht_cleanup_push. It is simpler than to change the semantic of
- * the many callers of delete_ust_app_session().
- */
 static
 void destroy_channel_rcu(struct rcu_head *head)
 {
@@ -702,7 +703,7 @@ void destroy_channel_rcu(struct rcu_head *head)
                caa_container_of(head, struct ust_registry_channel, rcu_head);
 
        if (chan->ht) {
-               ht_cleanup_push(chan->ht);
+               lttng_ht_destroy(chan->ht);
        }
        free(chan->ctx_fields);
        free(chan);
@@ -811,6 +812,7 @@ struct ust_registry_channel *ust_registry_channel_find(
 
        LTTNG_ASSERT(session);
        LTTNG_ASSERT(session->channels);
+       ASSERT_RCU_READ_LOCKED();
 
        DBG3("UST registry channel finding key %" PRIu64, key);
 
@@ -1011,7 +1013,7 @@ void ust_registry_session_destroy(struct ust_registry_session *reg)
                        destroy_channel(chan, true);
                }
                rcu_read_unlock();
-               ht_cleanup_push(reg->channels);
+               lttng_ht_destroy(reg->channels);
        }
 
        free(reg->metadata);
@@ -1043,6 +1045,6 @@ void ust_registry_session_destroy(struct ust_registry_session *reg)
                        ust_registry_destroy_enum(reg, reg_enum);
                }
                rcu_read_unlock();
-               ht_cleanup_push(reg->enums);
+               lttng_ht_destroy(reg->enums);
        }
 }
This page took 0.025472 seconds and 4 git commands to generate.