X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=liblttng-ust%2Flttng-context.c;h=dc6e13b3c5d546f183fb5b1a80ec7549a126764f;hb=06e646e04714e0e0f7537841107ab0528ef33a52;hp=59bc082b6e353e43b7152bc2e2f245fb3d77d269;hpb=864a1eda22ed99266509ac76451c6f27f91aa17e;p=lttng-ust.git diff --git a/liblttng-ust/lttng-context.c b/liblttng-ust/lttng-context.c index 59bc082b..dc6e13b3 100644 --- a/liblttng-ust/lttng-context.c +++ b/liblttng-ust/lttng-context.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include @@ -145,7 +146,7 @@ int lttng_context_add_rcu(struct lttng_ctx **ctx_p, *nf = *f; lttng_context_update(new_ctx); lttng_ust_rcu_assign_pointer(*ctx_p, new_ctx); - lttng_ust_synchronize_trace(); + lttng_ust_urcu_synchronize_rcu(); if (old_ctx) { free(old_ctx->fields); free(old_ctx); @@ -171,28 +172,6 @@ void lttng_context_update(struct lttng_ctx *ctx) case atype_integer: field_align = type->u.integer.alignment; break; - case atype_array: - { - struct lttng_basic_type *btype; - - btype = &type->u.legacy.array.elem_type; - switch (btype->atype) { - case atype_integer: - field_align = btype->u.basic.integer.alignment; - break; - case atype_string: - break; - - case atype_array: - case atype_array_nestable: - case atype_sequence: - case atype_sequence_nestable: - default: - WARN_ON_ONCE(1); - break; - } - break; - } case atype_array_nestable: { const struct lttng_type *nested_type; @@ -205,9 +184,7 @@ void lttng_context_update(struct lttng_ctx *ctx) case atype_string: break; - case atype_array: case atype_array_nestable: - case atype_sequence: case atype_sequence_nestable: default: WARN_ON_ONCE(1); @@ -217,47 +194,6 @@ void lttng_context_update(struct lttng_ctx *ctx) type->u.array_nestable.alignment); break; } - case atype_sequence: - { - struct lttng_basic_type *btype; - - btype = &type->u.legacy.sequence.length_type; - switch (btype->atype) { - case atype_integer: - field_align = btype->u.basic.integer.alignment; - break; - - case atype_string: - case atype_array: - case atype_array_nestable: - case atype_sequence: - case atype_sequence_nestable: - default: - WARN_ON_ONCE(1); - break; - } - - btype = &type->u.legacy.sequence.elem_type; - switch (btype->atype) { - case atype_integer: - field_align = max_t(size_t, - field_align, - btype->u.basic.integer.alignment); - break; - - case atype_string: - break; - - case atype_array: - case atype_array_nestable: - case atype_sequence: - case atype_sequence_nestable: - default: - WARN_ON_ONCE(1); - break; - } - break; - } case atype_sequence_nestable: { const struct lttng_type *nested_type; @@ -271,9 +207,7 @@ void lttng_context_update(struct lttng_ctx *ctx) case atype_string: break; - case atype_array: case atype_array_nestable: - case atype_sequence: case atype_sequence_nestable: default: WARN_ON_ONCE(1); @@ -287,7 +221,6 @@ void lttng_context_update(struct lttng_ctx *ctx) break; case atype_dynamic: break; - case atype_enum: case atype_enum_nestable: default: WARN_ON_ONCE(1); @@ -379,7 +312,7 @@ int lttng_ust_context_set_provider_rcu(struct lttng_ctx **_ctx, } new_ctx->fields = new_fields; lttng_ust_rcu_assign_pointer(*_ctx, new_ctx); - lttng_ust_synchronize_trace(); + lttng_ust_urcu_synchronize_rcu(); free(ctx->fields); free(ctx); return 0;