X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Flib%2Flttng-ctl%2Flttng-ctl.c;h=f2a61072b7971a44a2254bd600a1a7a85eb4a973;hp=775d1c324f4ee098a016cd40e556565fd186ce6a;hb=1624d5b7ba86633d36f3a5c86ea1df5d308c4360;hpb=c617c0c651432f9d5ae7adf4c5c1a5fd92ad828e diff --git a/src/lib/lttng-ctl/lttng-ctl.c b/src/lib/lttng-ctl/lttng-ctl.c index 775d1c324..f2a61072b 100644 --- a/src/lib/lttng-ctl/lttng-ctl.c +++ b/src/lib/lttng-ctl/lttng-ctl.c @@ -184,10 +184,12 @@ static ssize_t parse_str_urls_to_uri(const char *ctrl_url, const char *data_url, /* It's possible the control URIs array contains more than one URI */ memcpy(tmp_uris, ctrl_uris, sizeof(struct lttng_uri) * size_ctrl); ++idx; + free(ctrl_uris); } if (data_uris) { memcpy(&tmp_uris[idx], data_uris, sizeof(struct lttng_uri)); + free(data_uris); } *uris = tmp_uris; @@ -634,9 +636,7 @@ end: */ void lttng_destroy_handle(struct lttng_handle *handle) { - if (handle) { - free(handle); - } + free(handle); } /* @@ -1139,6 +1139,7 @@ const char *lttng_strerror(int code) */ int lttng_create_session(const char *name, const char *url) { + int ret; ssize_t size; struct lttcomm_session_msg lsm; struct lttng_uri *uris = NULL; @@ -1160,8 +1161,11 @@ int lttng_create_session(const char *name, const char *url) lsm.u.uri.size = size; - return ask_sessiond_varlen(&lsm, uris, sizeof(struct lttng_uri) * size, + ret = ask_sessiond_varlen(&lsm, uris, sizeof(struct lttng_uri) * size, NULL); + + free(uris); + return ret; } /* @@ -1356,6 +1360,8 @@ void lttng_channel_set_default_attr(struct lttng_domain *domain, attr->subbuf_size = default_get_kernel_channel_subbuf_size(); attr->num_subbuf = DEFAULT_KERNEL_CHANNEL_SUBBUF_NUM; attr->output = DEFAULT_KERNEL_CHANNEL_OUTPUT; + attr->tracefile_size = DEFAULT_KERNEL_CHANNEL_TRACEFILE_SIZE; + attr->tracefile_count = DEFAULT_KERNEL_CHANNEL_TRACEFILE_COUNT; break; case LTTNG_DOMAIN_UST: #if 0 @@ -1370,6 +1376,8 @@ void lttng_channel_set_default_attr(struct lttng_domain *domain, attr->subbuf_size = default_get_ust_channel_subbuf_size(); attr->num_subbuf = DEFAULT_UST_CHANNEL_SUBBUF_NUM; attr->output = DEFAULT_UST_CHANNEL_OUTPUT; + attr->tracefile_size = DEFAULT_UST_CHANNEL_TRACEFILE_SIZE; + attr->tracefile_count = DEFAULT_UST_CHANNEL_TRACEFILE_COUNT; break; default: /* Default behavior: leave set to 0. */ @@ -1393,7 +1401,7 @@ int lttng_session_daemon_alive(void) return ret; } - if (strlen(sessiond_sock_path) == 0) { + if (*sessiond_sock_path == '\0') { /* * No socket path set. Weird error which means the constructor was not * called. @@ -1419,6 +1427,7 @@ int lttng_session_daemon_alive(void) int lttng_set_consumer_url(struct lttng_handle *handle, const char *control_url, const char *data_url) { + int ret; ssize_t size; struct lttcomm_session_msg lsm; struct lttng_uri *uris = NULL; @@ -1442,52 +1451,27 @@ int lttng_set_consumer_url(struct lttng_handle *handle, lsm.u.uri.size = size; - return ask_sessiond_varlen(&lsm, uris, sizeof(struct lttng_uri) * size, + ret = ask_sessiond_varlen(&lsm, uris, sizeof(struct lttng_uri) * size, NULL); + + free(uris); + return ret; } /* - * Enable consumer for a session and domain. - * - * Return 0 on success, else a negative value. + * [OBSELETE] */ int lttng_enable_consumer(struct lttng_handle *handle) { - struct lttcomm_session_msg lsm; - - if (handle == NULL) { - return -LTTNG_ERR_INVALID; - } - - lsm.cmd_type = LTTNG_ENABLE_CONSUMER; - - copy_string(lsm.session.name, handle->session_name, - sizeof(lsm.session.name)); - copy_lttng_domain(&lsm.domain, &handle->domain); - - return ask_sessiond(&lsm, NULL); + return -ENOSYS; } /* - * Disable consumer for a session and domain. - * - * Return 0 on success, else a negative value. + * [OBSELETE] */ int lttng_disable_consumer(struct lttng_handle *handle) { - struct lttcomm_session_msg lsm; - - if (handle == NULL) { - return -LTTNG_ERR_INVALID; - } - - lsm.cmd_type = LTTNG_DISABLE_CONSUMER; - - copy_string(lsm.session.name, handle->session_name, - sizeof(lsm.session.name)); - copy_lttng_domain(&lsm.domain, &handle->domain); - - return ask_sessiond(&lsm, NULL); + return -ENOSYS; } /* @@ -1604,11 +1588,12 @@ error: int _lttng_create_session_ext(const char *name, const char *url, const char *datetime) { + int ret; ssize_t size; struct lttcomm_session_msg lsm; struct lttng_uri *uris = NULL; - if (name == NULL || datetime == NULL) { + if (name == NULL || datetime == NULL || url == NULL) { return -LTTNG_ERR_INVALID; } @@ -1620,24 +1605,28 @@ int _lttng_create_session_ext(const char *name, const char *url, /* There should never be a data URL */ size = parse_str_urls_to_uri(url, NULL, &uris); if (size < 0) { - return -LTTNG_ERR_INVALID; + ret = -LTTNG_ERR_INVALID; + goto error; } lsm.u.uri.size = size; if (size > 0 && uris[0].dtype != LTTNG_DST_PATH && strlen(uris[0].subdir) == 0) { - int ret; - ret = snprintf(uris[0].subdir, sizeof(uris[0].subdir), "%s-%s", name, datetime); if (ret < 0) { PERROR("snprintf uri subdir"); - return -LTTNG_ERR_FATAL; + ret = -LTTNG_ERR_FATAL; + goto error; } } - return ask_sessiond_varlen(&lsm, uris, sizeof(struct lttng_uri) * size, + ret = ask_sessiond_varlen(&lsm, uris, sizeof(struct lttng_uri) * size, NULL); + +error: + free(uris); + return ret; } /*