X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng-relayd%2Fmain.c;h=3a6bebaf7d6d3dc1ab5f7cf4fe76522d6f5c56fd;hb=385b881bb1ff2ddc5ff2657e038a0c54712e19a4;hp=d82a3412d7b8578be8f5b39abf0a9fd949ff07bc;hpb=cd2ef1ef1d54ced9e4d0d03b865bb7fc6a905f80;p=lttng-tools.git diff --git a/src/bin/lttng-relayd/main.c b/src/bin/lttng-relayd/main.c index d82a3412d..3a6bebaf7 100644 --- a/src/bin/lttng-relayd/main.c +++ b/src/bin/lttng-relayd/main.c @@ -44,6 +44,7 @@ #include #include #include +#include #include #include #include @@ -250,7 +251,10 @@ int set_option(int opt, const char *arg, const char *optname) if (arg) { lttng_opt_verbose = config_parse_value(arg); } else { - lttng_opt_verbose += 1; + /* Only 3 level of verbosity (-vvv). */ + if (lttng_opt_verbose < 3) { + lttng_opt_verbose += 1; + } } break; default: @@ -1201,6 +1205,7 @@ int relay_add_stream(struct lttcomm_relayd_hdr *recv_hdr, stream->session_id = session->id; stream->index_fd = -1; stream->read_index_fd = -1; + stream->ctf_stream_id = -1ULL; lttng_ht_node_init_u64(&stream->node, stream->stream_handle); pthread_mutex_init(&stream->lock, NULL); @@ -1340,18 +1345,6 @@ int relay_close_stream(struct lttcomm_relayd_hdr *recv_hdr, session->stream_count--; assert(session->stream_count >= 0); - /* - * Remove the stream from the connection recv list since we are about to - * flag it invalid and thus might be freed. This has to be done here since - * only the control thread can do actions on that list. - * - * Note that this stream might NOT be in the list but we have to try to - * remove it here else this can race with the stream destruction freeing - * the object and the connection destroy doing a use after free when - * deleting the remaining nodes in this list. - */ - cds_list_del(&stream->recv_list); - /* Check if we can close it or else the data will do it. */ try_close_stream(session, stream); @@ -1971,6 +1964,9 @@ int relay_recv_index(struct lttcomm_relayd_hdr *recv_hdr, } copy_index_control_data(index, &index_info); + if (stream->ctf_stream_id == -1ULL) { + stream->ctf_stream_id = be64toh(index_info.stream_id); + } if (index_created) { /*