*/
static void teardown_ust_session(struct ltt_session *session)
{
+ int ret;
+
DBG("Tearing down UST session(s)");
+ ret = ust_app_destroy_trace_all(session->ust_session);
+ if (ret) {
+ ERR("Error in ust_app_destroy_trace_all");
+ }
trace_ust_destroy_session(session->ust_session);
}
/* Register applicaton to the session daemon */
ret = ust_app_register(&ust_cmd.reg_msg,
ust_cmd.sock);
- if (ret < 0) {
- /* Only critical ENOMEM error can be returned here */
+ if (ret == -ENOMEM) {
goto error;
+ } else if (ret < 0) {
+ break;
}
/*
/* Clean kernel session teardown */
teardown_kernel_session(session);
+ /* UST session teardown */
+ teardown_ust_session(session);
/*
* Must notify the kernel thread here to update it's poll setin order
if (session->kernel_session != NULL) {
nb_chan = session->kernel_session->channel_count;
}
- DBG3("Number of kernel channels %ld", nb_chan);
+ DBG3("Number of kernel channels %zd", nb_chan);
break;
case LTTNG_DOMAIN_UST:
if (session->ust_session != NULL) {
nb_chan = hashtable_get_count(
session->ust_session->domain_global.channels);
}
- DBG3("Number of UST global channels %ld", nb_chan);
+ DBG3("Number of UST global channels %zd", nb_chan);
break;
default:
*channels = NULL;