struct consumer_socket *consumer_sock,
const char *session_name, const char *hostname,
int session_live_timer,
- const uint64_t *current_chunk_id)
+ const uint64_t *current_chunk_id,
+ time_t session_creation_time)
{
int ret;
struct lttcomm_relayd_sock *rsock = NULL;
ret = consumer_send_relayd_socket(consumer_sock, rsock, consumer,
relayd_uri->stype, session_id,
session_name, hostname, session_live_timer,
- current_chunk_id);
+ current_chunk_id, session_creation_time);
if (ret < 0) {
status = LTTNG_ERR_ENABLE_CONSUMER_FAIL;
goto close_sock;
unsigned int session_id, struct consumer_output *consumer,
struct consumer_socket *sock, const char *session_name,
const char *hostname, int session_live_timer,
- const uint64_t *current_chunk_id)
+ const uint64_t *current_chunk_id, time_t session_creation_time)
{
enum lttng_error_code status = LTTNG_OK;
status = send_consumer_relayd_socket(session_id,
&consumer->dst.net.control, consumer, sock,
session_name, hostname, session_live_timer,
- current_chunk_id);
+ current_chunk_id, session_creation_time);
if (status != LTTNG_OK) {
goto error;
}
status = send_consumer_relayd_socket(session_id,
&consumer->dst.net.data, consumer, sock,
session_name, hostname, session_live_timer,
- current_chunk_id);
+ current_chunk_id, session_creation_time);
if (status != LTTNG_OK) {
goto error;
}
usess->consumer, socket,
session->name, session->hostname,
session->live_timer,
- current_chunk_id.is_set ? ¤t_chunk_id.value : NULL);
+ current_chunk_id.is_set ? ¤t_chunk_id.value : NULL,
+ session->creation_time);
pthread_mutex_unlock(socket->lock);
if (ret != LTTNG_OK) {
goto error;
ksess->consumer, socket,
session->name, session->hostname,
session->live_timer,
- current_chunk_id.is_set ? ¤t_chunk_id.value : NULL);
+ current_chunk_id.is_set ? ¤t_chunk_id.value : NULL,
+ session->creation_time);
pthread_mutex_unlock(socket->lock);
if (ret != LTTNG_OK) {
goto error;
snap_output->consumer, socket,
session->name, session->hostname,
session->live_timer,
- current_chunk_id.is_set ? ¤t_chunk_id.value : NULL);
+ current_chunk_id.is_set ? ¤t_chunk_id.value : NULL,
+ session->creation_time);
pthread_mutex_unlock(socket->lock);
if (status != LTTNG_OK) {
rcu_read_unlock();
}
}
- if (session_close_trace_chunk(session, session->current_trace_chunk)) {
+ if (session_close_trace_chunk(
+ session, session->current_trace_chunk, NULL)) {
/*
* Don't goto end; make sure the chunk is closed for the session
* to allow future snapshots.
&ongoing_rotation_chunk_id);
assert(chunk_status == LTTNG_TRACE_CHUNK_STATUS_OK);
- chunk_status = lttng_trace_chunk_set_close_command(
- chunk_being_archived,
- LTTNG_TRACE_CHUNK_COMMAND_TYPE_MOVE_TO_COMPLETED);
- if (chunk_status != LTTNG_TRACE_CHUNK_STATUS_OK) {
- cmd_ret = LTTNG_ERR_FATAL;
- goto error;
- }
-
if (session->kernel_session) {
cmd_ret = kernel_rotate_session(session);
if (cmd_ret != LTTNG_OK) {
}
}
- ret = session_close_trace_chunk(session, chunk_being_archived);
+ ret = session_close_trace_chunk(session, chunk_being_archived,
+ &((enum lttng_trace_chunk_command_type) {
+ LTTNG_TRACE_CHUNK_COMMAND_TYPE_MOVE_TO_COMPLETED}));
if (ret) {
cmd_ret = LTTNG_ERR_CLOSE_TRACE_CHUNK_FAIL_CONSUMER;
goto error;