X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;ds=sidebyside;f=src%2Fcommon%2Factions%2Frotate-session.cpp;h=9c9a2a466ddbe52adfbc4e1ac0e10d06c38f3706;hb=23083fa05cee494d938b0db84140dd661a30c4dc;hp=985036acc84bc26818444b45b63c30add3126716;hpb=a6bc4ca9d659caf016ef932fcd944029737ac57c;p=lttng-tools.git diff --git a/src/common/actions/rotate-session.cpp b/src/common/actions/rotate-session.cpp index 985036acc..9c9a2a466 100644 --- a/src/common/actions/rotate-session.cpp +++ b/src/common/actions/rotate-session.cpp @@ -5,18 +5,19 @@ * */ -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include #include -#include +#include #include #define IS_ROTATE_SESSION_ACTION(action) \ (lttng_action_get_type(action) == LTTNG_ACTION_TYPE_ROTATE_SESSION) +namespace { struct lttng_action_rotate_session { struct lttng_action parent; @@ -37,6 +38,7 @@ struct lttng_action_rotate_session_comm { */ char data[]; } LTTNG_PACKED; +} /* namespace */ static const struct lttng_rate_policy * lttng_action_rotate_session_internal_get_rate_policy( @@ -288,7 +290,7 @@ end: struct lttng_action *lttng_action_rotate_session_create(void) { - struct lttng_action *action = NULL; + struct lttng_action_rotate_session *action_rotate = NULL; struct lttng_rate_policy *policy = NULL; enum lttng_action_status status; @@ -298,12 +300,13 @@ struct lttng_action *lttng_action_rotate_session_create(void) goto end; } - action = (lttng_action *) zmalloc(sizeof(struct lttng_action_rotate_session)); - if (!action) { + action_rotate = zmalloc(); + if (!action_rotate) { goto end; } - lttng_action_init(action, LTTNG_ACTION_TYPE_ROTATE_SESSION, + lttng_action_init(&action_rotate->parent, + LTTNG_ACTION_TYPE_ROTATE_SESSION, lttng_action_rotate_session_validate, lttng_action_rotate_session_serialize, lttng_action_rotate_session_is_equal, @@ -312,16 +315,17 @@ struct lttng_action *lttng_action_rotate_session_create(void) lttng_action_generic_add_error_query_results, lttng_action_rotate_session_mi_serialize); - status = lttng_action_rotate_session_set_rate_policy(action, policy); + status = lttng_action_rotate_session_set_rate_policy( + &action_rotate->parent, policy); if (status != LTTNG_ACTION_STATUS_OK) { - free(action); - action = NULL; + lttng_action_destroy(&action_rotate->parent); + action_rotate = NULL; goto end; } end: lttng_rate_policy_destroy(policy); - return action; + return action_rotate ? &action_rotate->parent : nullptr; } enum lttng_action_status lttng_action_rotate_session_set_session_name(