Cleanup: remove ignored flags from poll events bitmasks
[lttng-tools.git] / src / lib / lttng-ctl / channel.cpp
index e7b044ac05aafad89f3ff9af02e611619b8b8b3c..aee38f58bfa41bafebd5fce22c5d26d12c590a6f 100644 (file)
@@ -5,20 +5,20 @@
  *
  */
 
-#include <lttng/notification/notification-internal.h>
-#include <lttng/notification/channel-internal.h>
-#include <lttng/condition/condition-internal.h>
+#include <lttng/notification/notification-internal.hpp>
+#include <lttng/notification/channel-internal.hpp>
+#include <lttng/condition/condition-internal.hpp>
 #include <lttng/endpoint.h>
-#include <common/defaults.h>
-#include <common/error.h>
-#include <common/dynamic-buffer.h>
-#include <common/utils.h>
-#include <common/defaults.h>
-#include <common/payload.h>
-#include <common/payload-view.h>
-#include <common/unix.h>
-#include "lttng-ctl-helper.h"
-#include <common/compat/poll.h>
+#include <common/defaults.hpp>
+#include <common/error.hpp>
+#include <common/dynamic-buffer.hpp>
+#include <common/utils.hpp>
+#include <common/defaults.hpp>
+#include <common/payload.hpp>
+#include <common/payload-view.hpp>
+#include <common/unix.hpp>
+#include "lttng-ctl-helper.hpp"
+#include <common/compat/poll.hpp>
 
 static
 int handshake(struct lttng_notification_channel *channel);
@@ -53,6 +53,10 @@ int receive_message(struct lttng_notification_channel *channel)
                goto error;
        }
 
+       if (msg.size == 0) {
+               goto skip_payload;
+       }
+
        /* Reserve space for the payload. */
        ret = lttng_dynamic_buffer_set_size(&channel->reception_payload.buffer,
                        channel->reception_payload.buffer.size + msg.size);
@@ -68,6 +72,7 @@ int receive_message(struct lttng_notification_channel *channel)
                goto error;
        }
 
+skip_payload:
        /* Receive message fds. */
        if (msg.fds != 0) {
                ret = lttcomm_recv_payload_fds_unix_sock(channel->socket,
@@ -143,12 +148,12 @@ struct lttng_notification_channel *lttng_notification_channel_create(
                goto end;
        }
 
-       sock_path = (char *) zmalloc(LTTNG_PATH_MAX);
+       sock_path = calloc<char>(LTTNG_PATH_MAX);
        if (!sock_path) {
                goto end;
        }
 
-       channel = (lttng_notification_channel *) zmalloc(sizeof(struct lttng_notification_channel));
+       channel = zmalloc<lttng_notification_channel>();
        if (!channel) {
                goto end;
        }
@@ -263,7 +268,7 @@ lttng_notification_channel_get_next_notification(
                status = LTTNG_NOTIFICATION_CHANNEL_STATUS_ERROR;
                goto end_unlock;
        }
-       ret = lttng_poll_add(&events, channel->socket, LPOLLIN | LPOLLERR);
+       ret = lttng_poll_add(&events, channel->socket, LPOLLIN);
        if (ret < 0) {
                status = LTTNG_NOTIFICATION_CHANNEL_STATUS_ERROR;
                goto end_clean_poll;
@@ -343,7 +348,7 @@ int enqueue_dropped_notification(
                goto end;
        }
 
-       pending_notification = (struct pending_notification *) zmalloc(sizeof(*pending_notification));
+       pending_notification = zmalloc<struct pending_notification>();
        if (!pending_notification) {
                ret = -1;
                goto end;
@@ -371,7 +376,7 @@ int enqueue_notification_from_current_message(
                goto end;
        }
 
-       pending_notification = (struct pending_notification *) zmalloc(sizeof(*pending_notification));
+       pending_notification = zmalloc<struct pending_notification>();
        if (!pending_notification) {
                ret = -1;
                goto error;
@@ -443,7 +448,7 @@ lttng_notification_channel_has_pending_notification(
                status = LTTNG_NOTIFICATION_CHANNEL_STATUS_ERROR;
                goto end_unlock;
        }
-       ret = lttng_poll_add(&events, channel->socket, LPOLLIN | LPOLLERR);
+       ret = lttng_poll_add(&events, channel->socket, LPOLLIN);
        if (ret < 0) {
                status = LTTNG_NOTIFICATION_CHANNEL_STATUS_ERROR;
                goto end_clean_poll;
@@ -572,12 +577,13 @@ int handshake(struct lttng_notification_channel *channel)
                .major = LTTNG_NOTIFICATION_CHANNEL_VERSION_MAJOR,
                .minor = LTTNG_NOTIFICATION_CHANNEL_VERSION_MINOR,
        };
-       struct lttng_notification_channel_message msg_header = {
-               .type = LTTNG_NOTIFICATION_CHANNEL_MESSAGE_TYPE_HANDSHAKE,
-               .size = sizeof(handshake),
-       };
+       struct lttng_notification_channel_message msg_header;
        char send_buffer[sizeof(msg_header) + sizeof(handshake)];
 
+       msg_header.type = LTTNG_NOTIFICATION_CHANNEL_MESSAGE_TYPE_HANDSHAKE;
+       msg_header.size = sizeof(handshake);
+       msg_header.fds = 0;
+
        memcpy(send_buffer, &msg_header, sizeof(msg_header));
        memcpy(send_buffer + sizeof(msg_header), &handshake, sizeof(handshake));
 
@@ -621,9 +627,11 @@ enum lttng_notification_channel_status send_condition_command(
        enum lttng_notification_channel_status status =
                        LTTNG_NOTIFICATION_CHANNEL_STATUS_OK;
        struct lttng_payload payload;
-       struct lttng_notification_channel_message cmd_header = {
-               .type = (int8_t) type,
-       };
+       struct lttng_notification_channel_message cmd_header;
+
+       cmd_header.type = (int8_t) type;
+       cmd_header.size = 0;
+       cmd_header.fds = 0;
 
        lttng_payload_init(&payload);
 
This page took 0.02562 seconds and 4 git commands to generate.