#include <unistd.h>
#include <inttypes.h>
-#include <common/common.h>
-#include <common/defaults.h>
-#include <common/compat/string.h>
+#include <common/common.hpp>
+#include <common/defaults.hpp>
+#include <common/compat/string.hpp>
-#include "consumer.h"
-#include "health-sessiond.h"
-#include "kernel-consumer.h"
-#include "notification-thread-commands.h"
-#include "session.h"
-#include "lttng-sessiond.h"
+#include "consumer.hpp"
+#include "health-sessiond.hpp"
+#include "kernel-consumer.hpp"
+#include "notification-thread-commands.hpp"
+#include "session.hpp"
+#include "lttng-sessiond.hpp"
static char *create_channel_path(struct consumer_output *consumer,
size_t *consumer_path_offset)
}
/* Prep channel message structure */
- consumer_init_add_channel_comm_msg(&lkm,
- channel->key,
- ksession->id,
- &pathname[consumer_path_offset],
- ksession->uid,
- ksession->gid,
- consumer->net_seq_index,
- channel->channel->name,
- channel->stream_count,
- channel->channel->attr.output,
- CONSUMER_CHANNEL_TYPE_DATA,
+ consumer_init_add_channel_comm_msg(&lkm, channel->key, ksession->id,
+ &pathname[consumer_path_offset], consumer->net_seq_index,
+ channel->channel->name, channel->stream_count,
+ channel->channel->attr.output, CONSUMER_CHANNEL_TYPE_DATA,
channel->channel->attr.tracefile_size,
- channel->channel->attr.tracefile_count,
- monitor,
- channel->channel->attr.live_timer_interval,
- ksession->is_live_session,
+ channel->channel->attr.tracefile_count, monitor,
+ channel->channel->attr.live_timer_interval, ksession->is_live_session,
channel_attr_extended->monitor_timer_interval,
- ksession->current_trace_chunk);
+ ksession->current_trace_chunk, *ksession->trace_format);
health_code_update();
rcu_read_lock();
session = session_find_by_id(ksession->id);
LTTNG_ASSERT(session);
- LTTNG_ASSERT(pthread_mutex_trylock(&session->lock));
- LTTNG_ASSERT(session_trylock_list());
-
- status = notification_thread_command_add_channel(
- the_notification_thread_handle, session->name,
- ksession->uid, ksession->gid, channel->channel->name,
- channel->key, LTTNG_DOMAIN_KERNEL,
- channel->channel->attr.subbuf_size *
- channel->channel->attr.num_subbuf);
+ ASSERT_LOCKED(session->lock);
+ ASSERT_SESSION_LIST_LOCKED();
+
+ status = notification_thread_command_add_channel(the_notification_thread_handle,
+ session->id, channel->channel->name, channel->key, LTTNG_DOMAIN_KERNEL,
+ channel->channel->attr.subbuf_size * channel->channel->attr.num_subbuf);
rcu_read_unlock();
if (status != LTTNG_OK) {
ret = -1;
consumer = ksession->consumer;
/* Prep channel message structure */
- consumer_init_add_channel_comm_msg(&lkm,
- ksession->metadata->key,
- ksession->id,
- "",
- ksession->uid,
- ksession->gid,
- consumer->net_seq_index,
- ksession->metadata->conf->name,
- 1,
- ksession->metadata->conf->attr.output,
- CONSUMER_CHANNEL_TYPE_METADATA,
+ consumer_init_add_channel_comm_msg(&lkm, ksession->metadata->key, ksession->id, "",
+ consumer->net_seq_index, ksession->metadata->conf->name, 1,
+ ksession->metadata->conf->attr.output, CONSUMER_CHANNEL_TYPE_METADATA,
ksession->metadata->conf->attr.tracefile_size,
- ksession->metadata->conf->attr.tracefile_count,
- monitor,
+ ksession->metadata->conf->attr.tracefile_count, monitor,
ksession->metadata->conf->attr.live_timer_interval,
- ksession->is_live_session,
- 0,
- ksession->current_trace_chunk);
+ ksession->is_live_session, 0, ksession->current_trace_chunk,
+ *ksession->trace_format);
health_code_update();
int kernel_consumer_add_stream(struct consumer_socket *sock,
struct ltt_kernel_channel *channel,
struct ltt_kernel_stream *stream,
- struct ltt_kernel_session *session, unsigned int monitor)
+ struct ltt_kernel_session *session)
{
int ret;
struct lttcomm_consumer_msg lkm;
/* Add stream on the kernel consumer side. */
ret = kernel_consumer_add_stream(sock, channel, stream,
- ksession, monitor);
+ ksession);
if (ret < 0) {
goto error;
}