ret = lttng_strncpy(consumer->dst.session_root_path,
uri->dst.path,
sizeof(consumer->dst.session_root_path));
+ if (ret) {
+ ret_code = LTTNG_ERR_FATAL;
+ goto error;
+ }
consumer->type = CONSUMER_DST_LOCAL;
break;
}
/*
* Start a kernel session by opening all necessary streams.
*/
-static int start_kernel_session(struct ltt_kernel_session *ksess, int wpipe)
+static int start_kernel_session(struct ltt_kernel_session *ksess)
{
int ret;
struct ltt_kernel_channel *kchan;
}
/* Quiescent wait after starting trace */
- kernel_wait_quiescent(wpipe);
+ kernel_wait_quiescent();
ksess->active = 1;
goto error;
}
- kernel_wait_quiescent(kernel_tracer_fd);
+ kernel_wait_quiescent();
break;
}
case LTTNG_DOMAIN_UST:
goto error;
}
- kernel_wait_quiescent(kernel_tracer_fd);
+ kernel_wait_quiescent();
break;
}
case LTTNG_DOMAIN_UST:
goto error;
}
- kernel_wait_quiescent(kernel_tracer_fd);
+ kernel_wait_quiescent();
break;
}
case LTTNG_DOMAIN_UST:
switch (domain->type) {
case LTTNG_DOMAIN_KERNEL:
{
- if (kernel_supports_ring_buffer_snapshot_sample_positions(kernel_tracer_fd) != 1) {
+ if (kernel_supports_ring_buffer_snapshot_sample_positions() != 1) {
/* Sampling position of buffer is not supported */
WARN("Kernel tracer does not support buffer monitoring. "
"Setting the monitor interval timer to 0 "
goto error;
}
- kernel_wait_quiescent(kernel_tracer_fd);
+ kernel_wait_quiescent();
break;
}
case LTTNG_DOMAIN_UST:
goto error_unlock;
}
- kernel_wait_quiescent(kernel_tracer_fd);
+ kernel_wait_quiescent();
break;
}
case LTTNG_DOMAIN_UST:
goto error;
}
- kernel_wait_quiescent(kernel_tracer_fd);
+ kernel_wait_quiescent();
break;
}
case LTTNG_DOMAIN_UST:
switch (domain) {
case LTTNG_DOMAIN_KERNEL:
- nb_events = kernel_list_events(kernel_tracer_fd, events);
+ nb_events = kernel_list_events(events);
if (nb_events < 0) {
ret = LTTNG_ERR_KERN_LIST_FAIL;
goto error;
/* Kernel tracing */
if (ksession != NULL) {
DBG("Start kernel tracing session %s", session->name);
- ret = start_kernel_session(ksession, kernel_tracer_fd);
+ ret = start_kernel_session(ksession);
if (ret != LTTNG_OK) {
goto error;
}
goto error;
}
- kernel_wait_quiescent(kernel_tracer_fd);
+ kernel_wait_quiescent();
/* Flush metadata after stopping (if exists) */
if (ksession->metadata_stream_fd >= 0) {
ret = kernel_metadata_flush_buffer(ksession->metadata_stream_fd);
if (ret < 0) {
ERR("Kernel metadata flush failed");
+ error_occurred = true;
}
}
ret = kernel_flush_buffer(kchan);
if (ret < 0) {
ERR("Kernel flush buffer error");
+ error_occurred = true;
}
}