X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng-relayd%2Flive.cpp;h=ef830d4ba0d4daa7a391f5c6d6e06753fad0bb78;hb=64803277bbdbe0a943360d918298a48157d9da55;hp=5925642f09837ce7a421c095a3992abc1fc82424;hpb=fe88e51751c3846b91592a7d52cb975f9c0f5de4;p=lttng-tools.git diff --git a/src/bin/lttng-relayd/live.cpp b/src/bin/lttng-relayd/live.cpp index 5925642f0..ef830d4ba 100644 --- a/src/bin/lttng-relayd/live.cpp +++ b/src/bin/lttng-relayd/live.cpp @@ -31,34 +31,34 @@ #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include -#include "cmd.h" -#include "connection.h" -#include "ctf-trace.h" -#include "health-relayd.h" -#include "live.h" -#include "lttng-relayd.h" -#include "session.h" -#include "stream.h" -#include "testpoint.h" -#include "utils.h" -#include "viewer-session.h" -#include "viewer-stream.h" +#include "cmd.hpp" +#include "connection.hpp" +#include "ctf-trace.hpp" +#include "health-relayd.hpp" +#include "live.hpp" +#include "lttng-relayd.hpp" +#include "session.hpp" +#include "stream.hpp" +#include "testpoint.hpp" +#include "utils.hpp" +#include "viewer-session.hpp" +#include "viewer-stream.hpp" #define SESSION_BUF_DEFAULT_COUNT 16 @@ -655,7 +655,7 @@ end: } static -int close_sock(void *data, int *in_fd) +int close_sock(void *data, int *in_fd __attribute__((unused))) { struct lttcomm_sock *sock = (lttcomm_sock *) data; @@ -766,7 +766,7 @@ error: * This thread manages the listening for new connections on the network */ static -void *thread_listener(void *data) +void *thread_listener(void *data __attribute__((unused))) { int i, ret, pollfd, err = -1; uint32_t revents, nb_fd; @@ -931,7 +931,7 @@ error_sock_control: * This thread manages the dispatching of the requests to worker threads */ static -void *thread_dispatcher(void *data) +void *thread_dispatcher(void *data __attribute__((unused))) { int err = -1; ssize_t ret; @@ -1112,7 +1112,7 @@ int viewer_list_sessions(struct relay_connection *conn) uint32_t buf_count = SESSION_BUF_DEFAULT_COUNT; uint32_t count = 0; - send_session_buf = (lttng_viewer_session *) zmalloc(SESSION_BUF_DEFAULT_COUNT * sizeof(*send_session_buf)); + send_session_buf = calloc(SESSION_BUF_DEFAULT_COUNT); if (!send_session_buf) { return -1; } @@ -1266,7 +1266,12 @@ int viewer_get_new_streams(struct relay_connection *conn) LTTNG_VIEWER_SEEK_BEGINNING, &nb_total, &nb_unsent, &nb_created, &closed); if (ret < 0) { - goto error_unlock_session; + /* + * This is caused by an internal error; propagate the negative + * 'ret' to close the connection. + */ + response.status = htobe32(LTTNG_VIEWER_NEW_STREAMS_ERR); + goto send_reply_unlock; } send_streams = 1; response.status = htobe32(LTTNG_VIEWER_NEW_STREAMS_OK); @@ -1321,10 +1326,6 @@ end_put_session: } error: return ret; -error_unlock_session: - pthread_mutex_unlock(&session->lock); - session_put(session); - return ret; } /* @@ -2114,7 +2115,7 @@ int viewer_get_packet(struct relay_connection *conn) reply_size += packet_data_len; } - reply = (char *) zmalloc(reply_size); + reply = zmalloc(reply_size); if (!reply) { get_packet_status = LTTNG_VIEWER_GET_PACKET_ERR; PERROR("Falled to allocate reply, returning status=%s", @@ -2377,7 +2378,7 @@ int viewer_get_metadata(struct relay_connection *conn) } reply.len = htobe64(len); - data = (char *) zmalloc(len); + data = zmalloc(len); if (!data) { PERROR("viewer metadata zmalloc"); goto error; @@ -2661,7 +2662,7 @@ void cleanup_connection_pollfd(struct lttng_poll_event *events, int pollfd) * This thread does the actual work */ static -void *thread_worker(void *data) +void *thread_worker(void *data __attribute__((unused))) { int ret, err = -1; uint32_t nb_fd;