From: Mathieu Desnoyers Date: Thu, 12 Dec 2019 17:58:03 +0000 (-0500) Subject: sessiond: snapshot: set trace chunk to NULL before closing it X-Git-Tag: v2.12.0-rc1~124 X-Git-Url: https://git.lttng.org./?a=commitdiff_plain;h=dbfee52cc949c9ac51976ef4680f2e145aa1f1a9;p=lttng-tools.git sessiond: snapshot: set trace chunk to NULL before closing it Operations are expected to happen in this order with the reworked trace chunk for clear feature. Signed-off-by: Mathieu Desnoyers Change-Id: I3d655714c4b40b8563abdadb8cb74067eb7e4b6e Signed-off-by: Jérémie Galarneau --- diff --git a/src/bin/lttng-sessiond/cmd.c b/src/bin/lttng-sessiond/cmd.c index db07082db..53850f74a 100644 --- a/src/bin/lttng-sessiond/cmd.c +++ b/src/bin/lttng-sessiond/cmd.c @@ -4713,7 +4713,13 @@ enum lttng_error_code snapshot_record(struct ltt_session *session, } } - if (session_close_trace_chunk(session, session->current_trace_chunk, + if (session_set_trace_chunk(session, NULL, &snapshot_trace_chunk)) { + ERR("Failed to release the current trace chunk of session \"%s\"", + session->name); + ret_code = LTTNG_ERR_UNK; + } + + if (session_close_trace_chunk(session, snapshot_trace_chunk, LTTNG_TRACE_CHUNK_COMMAND_TYPE_NO_OPERATION, NULL)) { /* * Don't goto end; make sure the chunk is closed for the session @@ -4723,11 +4729,6 @@ enum lttng_error_code snapshot_record(struct ltt_session *session, session->name); ret_code = LTTNG_ERR_CLOSE_TRACE_CHUNK_FAIL_CONSUMER; } - if (session_set_trace_chunk(session, NULL, NULL)) { - ERR("Failed to release the current trace chunk of session \"%s\"", - session->name); - ret_code = LTTNG_ERR_UNK; - } error: if (original_ust_consumer_output) { session->ust_session->consumer = original_ust_consumer_output;