- DBG("consumer_add_stream chan %d stream %d",
- msg.u.stream.channel_key,
- msg.u.stream.stream_key);
+ DBG("Consumer command ADD_STREAM chan %d stream %d",
+ msg.u.stream.channel_key, msg.u.stream.stream_key);
assert(msg.u.stream.output == LTTNG_EVENT_MMAP);
new_stream = consumer_allocate_stream(msg.u.stream.channel_key,
assert(msg.u.stream.output == LTTNG_EVENT_MMAP);
new_stream = consumer_allocate_stream(msg.u.stream.channel_key,
- /* Send stream to the metadata thread */
- if (new_stream->metadata_flag) {
- if (ctx->on_recv_stream) {
- ret = ctx->on_recv_stream(new_stream);
- if (ret < 0) {
- goto end_nosignal;
- }
+ /* Do actions once stream has been received. */
+ if (ctx->on_recv_stream) {
+ ret = ctx->on_recv_stream(new_stream);
+ if (ret < 0) {
+ goto end_nosignal;
- ret = write(ctx->consumer_metadata_pipe[1], new_stream,
- sizeof(struct lttng_consumer_stream));
+ ret = write(ctx->consumer_metadata_pipe[1], &new_stream,
+ sizeof(new_stream));
obj.wait_fd = stream->wait_fd;
obj.memory_map_size = stream->mmap_len;
ret = ustctl_add_stream(stream->chan->handle, &obj);
obj.wait_fd = stream->wait_fd;
obj.memory_map_size = stream->mmap_len;
ret = ustctl_add_stream(stream->chan->handle, &obj);
/* ustctl_open_stream_read has closed the shm fd. */
stream->wait_fd_is_copy = 1;
stream->shm_fd = -1;
stream->mmap_base = ustctl_get_mmap_base(stream->chan->handle, stream->buf);
if (!stream->mmap_base) {
/* ustctl_open_stream_read has closed the shm fd. */
stream->wait_fd_is_copy = 1;
stream->shm_fd = -1;
stream->mmap_base = ustctl_get_mmap_base(stream->chan->handle, stream->buf);
if (!stream->mmap_base) {
ERR("Error writing to tracefile "
"(ret: %zd != len: %lu != subbuf_size: %lu)",
ret, len, subbuf_size);
ERR("Error writing to tracefile "
"(ret: %zd != len: %lu != subbuf_size: %lu)",
ret, len, subbuf_size);