/* Get the right pipe where the stream will be sent. */
if (new_stream->metadata_flag) {
- ret = consumer_add_metadata_stream(new_stream);
- if (ret) {
- ERR("Consumer add metadata stream %" PRIu64 " failed. Continuing",
- new_stream->key);
- consumer_stream_free(new_stream);
- goto end_nosignal;
- }
+ consumer_add_metadata_stream(new_stream);
stream_pipe = ctx->consumer_metadata_pipe;
} else {
- ret = consumer_add_data_stream(new_stream);
- if (ret) {
- ERR("Consumer add stream %" PRIu64 " failed. Continuing",
- new_stream->key);
- consumer_stream_free(new_stream);
- goto end_nosignal;
- }
+ consumer_add_data_stream(new_stream);
stream_pipe = ctx->consumer_data_pipe;
}
- /* Vitible to other threads */
+ /* Visible to other threads */
new_stream->globally_visible = 1;
health_code_update();
}
break;
}
+ case LTTNG_CONSUMER_MKDIR:
+ {
+ DBG("Consumer mkdir %s in session %" PRIu64,
+ msg.u.mkdir.path,
+ msg.u.mkdir.session_id);
+ ret = lttng_consumer_mkdir(msg.u.mkdir.path,
+ msg.u.mkdir.uid,
+ msg.u.mkdir.gid,
+ msg.u.mkdir.relayd_id);
+ if (ret < 0) {
+ ERR("consumer mkdir failed");
+ ret_code = LTTCOMM_CONSUMERD_CHAN_NOT_FOUND;
+ }
+
+ health_code_update();
+
+ ret = consumer_send_status_msg(sock, ret_code);
+ if (ret < 0) {
+ /* Somehow, the session daemon is not responding anymore. */
+ goto end_nosignal;
+ }
+ break;
+ }
default:
goto end_nosignal;
}