goto end_nosignal;
}
- /* 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;
- }
+ if (ctx->on_recv_stream) {
+ ret = ctx->on_recv_stream(new_stream);
+ if (ret < 0) {
+ goto end_nosignal;
}
+ }
+ /* Send stream to the metadata thread */
+ if (new_stream->metadata_flag) {
do {
- 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));
} while (ret < 0 && errno == EINTR);
if (ret < 0) {
PERROR("write metadata pipe");
}
} else {
- if (ctx->on_recv_stream) {
- ret = ctx->on_recv_stream(new_stream);
- if (ret < 0) {
- goto end_nosignal;
- }
- }
consumer_add_stream(new_stream);
}