* happens while tearing down.
*/
ERR("Unable to find channel key %" PRIu64, msg.u.stream.channel_key);
- ret_code = LTTNG_ERR_KERN_CHAN_NOT_FOUND;
+ ret_code = LTTCOMM_CONSUMERD_CHAN_NOT_FOUND;
}
health_code_update();
switch (channel->output) {
case CONSUMER_CHANNEL_SPLICE:
new_stream->output = LTTNG_EVENT_SPLICE;
+ ret = utils_create_pipe(new_stream->splice_pipe);
+ if (ret < 0) {
+ goto end_nosignal;
+ }
break;
case CONSUMER_CHANNEL_MMAP:
new_stream->output = LTTNG_EVENT_MMAP;
*/
ERR("Unable to find channel key %" PRIu64,
msg.u.sent_streams.channel_key);
- ret_code = LTTNG_ERR_KERN_CHAN_NOT_FOUND;
+ ret_code = LTTCOMM_CONSUMERD_CHAN_NOT_FOUND;
}
health_code_update();
* Send status code to session daemon.
*/
ret = consumer_send_status_msg(sock, ret_code);
- if (ret < 0) {
+ if (ret < 0 || ret_code != LTTCOMM_CONSUMERD_SUCCESS) {
/* Somehow, the session daemon is not responding anymore. */
goto end_nosignal;
}
relayd = consumer_find_relayd(index);
if (relayd == NULL) {
DBG("Unable to find relayd %" PRIu64, index);
- ret_code = LTTNG_ERR_NO_CONSUMER;
+ ret_code = LTTCOMM_CONSUMERD_RELAYD_FAIL;
}
/*
msg.u.snapshot_channel.relayd_id, ctx);
if (ret < 0) {
ERR("Snapshot metadata failed");
- ret_code = LTTNG_ERR_KERN_META_FAIL;
+ ret_code = LTTCOMM_CONSUMERD_ERROR_METADATA;
}
} else {
ret = lttng_kconsumer_snapshot_channel(msg.u.snapshot_channel.key,
ctx);
if (ret < 0) {
ERR("Snapshot channel failed");
- ret_code = LTTNG_ERR_KERN_CHAN_FAIL;
+ ret_code = LTTCOMM_CONSUMERD_CHAN_NOT_FOUND;
}
}
channel = consumer_find_channel(key);
if (!channel) {
ERR("Kernel consumer destroy channel %" PRIu64 " not found", key);
- ret_code = LTTNG_ERR_KERN_CHAN_NOT_FOUND;
+ ret_code = LTTCOMM_CONSUMERD_CHAN_NOT_FOUND;
}
health_code_update();
health_code_update();
+ /* Stop right now if no channel was found. */
+ if (!channel) {
+ goto end_nosignal;
+ }
+
/*
* This command should ONLY be issued for channel with streams set in
* no monitor mode.