Move to kernel style SPDX license identifiers
[lttng-ust.git] / liblttng-ust / lttng-context.c
index 5637028bed1bdd35d38715ad68afc33673652c50..a5d5d03506d674252a803a725185bc3577e525b4 100644 (file)
@@ -1,35 +1,24 @@
 /*
- * lttng-context.c
- *
- * LTTng UST trace/channel/event context management.
+ * SPDX-License-Identifier: LGPL-2.1-only
  *
  * Copyright (C) 2011 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
  *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; only
- * version 2.1 of the License.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ * LTTng UST trace/channel/event context management.
  */
 
 #define _LGPL_SOURCE
 #include <lttng/ust-events.h>
 #include <lttng/ust-tracer.h>
 #include <lttng/ust-context-provider.h>
-#include <urcu-pointer.h>
+#include <lttng/urcu/pointer.h>
 #include <usterr-signal-safe.h>
 #include <helper.h>
 #include <stddef.h>
 #include <string.h>
 #include <assert.h>
+#include "tracepoint-internal.h"
+
+#include "context-internal.h"
 
 /*
  * The filter implementation requires that two consecutive "get" for the
@@ -155,8 +144,8 @@ int lttng_context_add_rcu(struct lttng_ctx **ctx_p,
        }
        *nf = *f;
        lttng_context_update(new_ctx);
-       rcu_assign_pointer(*ctx_p, new_ctx);
-       synchronize_trace();
+       lttng_ust_rcu_assign_pointer(*ctx_p, new_ctx);
+       lttng_ust_synchronize_trace();
        if (old_ctx) {
                free(old_ctx->fields);
                free(old_ctx);
@@ -389,8 +378,8 @@ int lttng_ust_context_set_provider_rcu(struct lttng_ctx **_ctx,
                new_fields[i].get_value = get_value;
        }
        new_ctx->fields = new_fields;
-       rcu_assign_pointer(*_ctx, new_ctx);
-       synchronize_trace();
+       lttng_ust_rcu_assign_pointer(*_ctx, new_ctx);
+       lttng_ust_synchronize_trace();
        free(ctx->fields);
        free(ctx);
        return 0;
@@ -400,7 +389,7 @@ field_error:
        return ret;
 }
 
-int lttng_session_context_init(struct lttng_ctx **ctx)
+int lttng_context_init_all(struct lttng_ctx **ctx)
 {
        int ret;
 
@@ -454,6 +443,11 @@ int lttng_session_context_init(struct lttng_ctx **ctx)
                WARN("Cannot add context lttng_add_pid_ns_to_ctx");
                goto error;
        }
+       ret = lttng_add_time_ns_to_ctx(ctx);
+       if (ret) {
+               WARN("Cannot add context lttng_add_time_ns_to_ctx");
+               goto error;
+       }
        ret = lttng_add_user_ns_to_ctx(ctx);
        if (ret) {
                WARN("Cannot add context lttng_add_user_ns_to_ctx");
@@ -501,14 +495,3 @@ error:
        lttng_destroy_context(*ctx);
        return ret;
 }
-
-/* For backward compatibility. Leave those exported symbols in place. */
-struct lttng_ctx *lttng_static_ctx;
-
-void lttng_context_init(void)
-{
-}
-
-void lttng_context_exit(void)
-{
-}
This page took 0.026719 seconds and 4 git commands to generate.