X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=liblttng-ust%2Flttng-events.c;h=373995d08e61135bdd71b7991ba10749132d9116;hb=710b8ee36eec50c00e72cb61e146357130e1d94c;hp=d09c97ca2b1995a7de7d875145f7c9d79573f94e;hpb=8e696cfa579df0d75368a36d049e9c99b24e53f4;p=lttng-ust.git diff --git a/liblttng-ust/lttng-events.c b/liblttng-ust/lttng-events.c index d09c97ca..373995d0 100644 --- a/liblttng-ust/lttng-events.c +++ b/liblttng-ust/lttng-events.c @@ -384,6 +384,16 @@ int lttng_create_all_ctx_enums(size_t nr_fields, return 0; } +/* + * Ensure that a state-dump will be performed for this session at the end + * of the current handle_message(). + */ +int lttng_session_statedump(struct lttng_session *session) +{ + session->statedump_pending = 1; + lttng_ust_sockinfo_session_enabled(session->owner); + return 0; +} int lttng_session_enable(struct lttng_session *session) { @@ -453,8 +463,9 @@ int lttng_session_enable(struct lttng_session *session) CMM_ACCESS_ONCE(session->active) = 1; CMM_ACCESS_ONCE(session->been_active) = 1; - session->statedump_pending = 1; - lttng_ust_sockinfo_session_enabled(session->owner); + ret = lttng_session_statedump(session); + if (ret) + return ret; end: return ret; }