X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=libustctl%2Flibustctl.c;h=4e6c495c6b744b5e8cb853a7309fbc0c6d908a44;hb=535b0d0af1b6421ceb83e22821e85bc6919d16d9;hp=c781283974035d5ed48b3c42e60ba5f026b46153;hpb=8b6984b8b5c6fb912c2cf3495d322f01a5bbc8eb;p=lttng-ust.git diff --git a/libustctl/libustctl.c b/libustctl/libustctl.c index c7812839..4e6c495c 100644 --- a/libustctl/libustctl.c +++ b/libustctl/libustctl.c @@ -110,7 +110,7 @@ static int get_pids_in_dir(DIR *dir, pid_t **pid_list, unsigned int *pid_list_size) { struct dirent *dirent; - long read_pid; + pid_t read_pid; while ((dirent = readdir(dir))) { if (!strcmp(dirent->d_name, ".") || @@ -121,21 +121,9 @@ static int get_pids_in_dir(DIR *dir, pid_t **pid_list, continue; } - errno = 0; - read_pid = strtol(dirent->d_name, NULL, 10); - if (errno) { - continue; - } - - /* - * FIXME: Here we previously called pid_is_online, which - * always returned 1, now I replaced it with just 1. - * We need to figure out an intelligent way of solving - * this, maybe connect-disconnect. - */ - if (1) { + if (ustcomm_is_socket_live(dirent->d_name, &read_pid)) { - (*pid_list)[(*pid_list_index)++] = read_pid; + (*pid_list)[(*pid_list_index)++] = (long) read_pid; if (*pid_list_index == *pid_list_size) { if (realloc_pid_list(pid_list, pid_list_size)) { @@ -265,25 +253,25 @@ pid_t *ustctl_get_online_pids(void) } /** - * Sets marker state (USTCTL_MS_ON or USTCTL_MS_OFF). + * Sets ust_marker state (USTCTL_MS_ON or USTCTL_MS_OFF). * * @param mn Marker name * @param state Marker's new state * @param pid Traced process ID * @return 0 if successful, or errors {USTCTL_ERR_GEN, USTCTL_ERR_ARG} */ -int ustctl_set_marker_state(int sock, const char *trace, const char *channel, - const char *marker, int state) +int ustctl_set_ust_marker_state(int sock, const char *trace, const char *channel, + const char *ust_marker, int state) { struct ustcomm_header req_header, res_header; - struct ustcomm_marker_info marker_inf; + struct ustcomm_ust_marker_info ust_marker_inf; int result; - result = ustcomm_pack_marker_info(&req_header, - &marker_inf, + result = ustcomm_pack_ust_marker_info(&req_header, + &ust_marker_inf, trace, channel, - marker); + ust_marker); if (result < 0) { errno = -result; return -1; @@ -291,7 +279,7 @@ int ustctl_set_marker_state(int sock, const char *trace, const char *channel, req_header.command = state ? ENABLE_MARKER : DISABLE_MARKER; - return do_cmd(sock, &req_header, (char *)&marker_inf, + return do_cmd(sock, &req_header, (char *)&ust_marker_inf, &res_header, NULL); } @@ -549,7 +537,7 @@ unsigned int ustctl_count_nl(const char *str) * @param cmsf CMSF array to free * @return 0 if successful, or error USTCTL_ERR_ARG */ -int ustctl_free_cmsf(struct marker_status *cmsf) +int ustctl_free_cmsf(struct ust_marker_status *cmsf) { if (cmsf == NULL) { return USTCTL_ERR_ARG; @@ -558,7 +546,7 @@ int ustctl_free_cmsf(struct marker_status *cmsf) unsigned int i = 0; while (cmsf[i].channel != NULL) { free(cmsf[i].channel); - free(cmsf[i].marker); + free(cmsf[i].ust_marker); free(cmsf[i].fs); ++i; } @@ -568,19 +556,19 @@ int ustctl_free_cmsf(struct marker_status *cmsf) } /** - * Gets channel/marker/state/format string for a given PID. + * Gets channel/ust_marker/state/format string for a given PID. * * @param cmsf Pointer to CMSF array to be filled (callee allocates, caller * frees with `ustctl_free_cmsf') * @param pid Targeted PID * @return 0 if successful, or -1 on error */ -int ustctl_get_cmsf(int sock, struct marker_status **cmsf) +int ustctl_get_cmsf(int sock, struct ust_marker_status **cmsf) { struct ustcomm_header req_header, res_header; char *big_str = NULL; int result; - struct marker_status *tmp_cmsf = NULL; + struct ust_marker_status *tmp_cmsf = NULL; unsigned int i = 0, cmsf_ind = 0; if (cmsf == NULL) { @@ -592,17 +580,17 @@ int ustctl_get_cmsf(int sock, struct marker_status **cmsf) result = ustcomm_send(sock, &req_header, NULL); if (result <= 0) { - PERROR("error while requesting markers list"); + PERROR("error while requesting ust_marker list"); return -1; } result = ustcomm_recv_alloc(sock, &res_header, &big_str); if (result <= 0) { - ERR("error while receiving markers list"); + ERR("error while receiving ust_marker list"); return -1; } - tmp_cmsf = (struct marker_status *) zmalloc(sizeof(struct marker_status) * + tmp_cmsf = (struct ust_marker_status *) zmalloc(sizeof(struct ust_marker_status) * (ustctl_count_nl(big_str) + 1)); if (tmp_cmsf == NULL) { ERR("Failed to allocate CMSF array"); @@ -613,9 +601,9 @@ int ustctl_get_cmsf(int sock, struct marker_status **cmsf) while (big_str[i] != '\0') { char state; - sscanf(big_str + i, "marker: %a[^/]/%a[^ ] %c %a[^\n]", + sscanf(big_str + i, "ust_marker: %a[^/]/%a[^ ] %c %a[^\n]", &tmp_cmsf[cmsf_ind].channel, - &tmp_cmsf[cmsf_ind].marker, + &tmp_cmsf[cmsf_ind].ust_marker, &state, &tmp_cmsf[cmsf_ind].fs); tmp_cmsf[cmsf_ind].state = (state == USTCTL_MS_CHR_ON ? @@ -628,7 +616,7 @@ int ustctl_get_cmsf(int sock, struct marker_status **cmsf) ++cmsf_ind; } tmp_cmsf[cmsf_ind].channel = NULL; - tmp_cmsf[cmsf_ind].marker = NULL; + tmp_cmsf[cmsf_ind].ust_marker = NULL; tmp_cmsf[cmsf_ind].fs = NULL; *cmsf = tmp_cmsf; @@ -690,7 +678,7 @@ int ustctl_get_tes(int sock, struct trace_event_status **tes) result = ustcomm_recv_alloc(sock, &res_header, &big_str); if (result != 1) { - ERR("error while receiving markers list"); + ERR("error while receiving ust_marker list"); return -1; }