projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
common: replace container_of with a C++ safe implementation
[lttng-tools.git]
/
src
/
common
/
actions
/
snapshot-session.cpp
diff --git
a/src/common/actions/snapshot-session.cpp
b/src/common/actions/snapshot-session.cpp
index 600d803e3610b1d065a23cbe82e7fc79e2151596..6af260c93e35a3e7cb2659429cd0a6f0f849bf53 100644
(file)
--- a/
src/common/actions/snapshot-session.cpp
+++ b/
src/common/actions/snapshot-session.cpp
@@
-23,6
+23,7
@@
#define IS_SNAPSHOT_SESSION_ACTION(action) \
(lttng_action_get_type(action) == LTTNG_ACTION_TYPE_SNAPSHOT_SESSION)
#define IS_SNAPSHOT_SESSION_ACTION(action) \
(lttng_action_get_type(action) == LTTNG_ACTION_TYPE_SNAPSHOT_SESSION)
+namespace {
struct lttng_action_snapshot_session {
struct lttng_action parent;
struct lttng_action_snapshot_session {
struct lttng_action parent;
@@
-54,6
+55,7
@@
struct lttng_action_snapshot_session_comm {
*/
char data[];
} LTTNG_PACKED;
*/
char data[];
} LTTNG_PACKED;
+} /* namespace */
static const struct lttng_rate_policy *
lttng_action_snapshot_session_internal_get_rate_policy(
static const struct lttng_rate_policy *
lttng_action_snapshot_session_internal_get_rate_policy(
@@
-64,8
+66,8
@@
action_snapshot_session_from_action(struct lttng_action *action)
{
LTTNG_ASSERT(action);
{
LTTNG_ASSERT(action);
- return container_of(
- action,
struct lttng_action_snapshot_session,
parent);
+ return
lttng::utils::
container_of(
+ action,
<tng_action_snapshot_session::
parent);
}
static const struct lttng_action_snapshot_session *
}
static const struct lttng_action_snapshot_session *
@@
-73,8
+75,8
@@
action_snapshot_session_from_action_const(const struct lttng_action *action)
{
LTTNG_ASSERT(action);
{
LTTNG_ASSERT(action);
- return container_of(
- action,
struct lttng_action_snapshot_session,
parent);
+ return
lttng::utils::
container_of(
+ action,
<tng_action_snapshot_session::
parent);
}
static bool lttng_action_snapshot_session_validate(struct lttng_action *action)
}
static bool lttng_action_snapshot_session_validate(struct lttng_action *action)
@@
-445,7
+447,7
@@
end:
struct lttng_action *lttng_action_snapshot_session_create(void)
{
struct lttng_action *lttng_action_snapshot_session_create(void)
{
- struct lttng_action
*action
= NULL;
+ struct lttng_action
_snapshot_session *action_snapshot
= NULL;
struct lttng_rate_policy *policy = NULL;
enum lttng_action_status status;
struct lttng_rate_policy *policy = NULL;
enum lttng_action_status status;
@@
-455,12
+457,13
@@
struct lttng_action *lttng_action_snapshot_session_create(void)
goto end;
}
goto end;
}
- action
= (lttng_action *) zmalloc(sizeof(struct lttng_action_snapshot_session)
);
- if (!action) {
+ action
_snapshot = zmalloc<lttng_action_snapshot_session>(
);
+ if (!action
_snapshot
) {
goto end;
}
goto end;
}
- lttng_action_init(action, LTTNG_ACTION_TYPE_SNAPSHOT_SESSION,
+ lttng_action_init(&action_snapshot->parent,
+ LTTNG_ACTION_TYPE_SNAPSHOT_SESSION,
lttng_action_snapshot_session_validate,
lttng_action_snapshot_session_serialize,
lttng_action_snapshot_session_is_equal,
lttng_action_snapshot_session_validate,
lttng_action_snapshot_session_serialize,
lttng_action_snapshot_session_is_equal,
@@
-469,16
+472,17
@@
struct lttng_action *lttng_action_snapshot_session_create(void)
lttng_action_generic_add_error_query_results,
lttng_action_snapshot_session_mi_serialize);
lttng_action_generic_add_error_query_results,
lttng_action_snapshot_session_mi_serialize);
- status = lttng_action_snapshot_session_set_rate_policy(action, policy);
+ status = lttng_action_snapshot_session_set_rate_policy(
+ &action_snapshot->parent, policy);
if (status != LTTNG_ACTION_STATUS_OK) {
if (status != LTTNG_ACTION_STATUS_OK) {
-
free(action
);
- action = NULL;
+
lttng_action_destroy(&action_snapshot->parent
);
+ action
_snapshot
= NULL;
goto end;
}
end:
lttng_rate_policy_destroy(policy);
goto end;
}
end:
lttng_rate_policy_destroy(policy);
- return action;
+ return action
_snapshot ? &action_snapshot->parent : nullptr
;
}
enum lttng_action_status lttng_action_snapshot_session_set_session_name(
}
enum lttng_action_status lttng_action_snapshot_session_set_session_name(
This page took
0.025 seconds
and
4
git commands to generate.