Fix: missing header causes build failure with --disable-epoll
[lttng-tools.git] / src / bin / lttng-sessiond / notification-thread-events.c
index 7de6595d8e51db3f6306eda112d493c7da0494b7..4107bec96c541c6f60b5afed416f8a9f4c0b4bdf 100644 (file)
@@ -40,6 +40,7 @@
 #include <unistd.h>
 #include <assert.h>
 #include <inttypes.h>
+#include <fcntl.h>
 
 #define CLIENT_POLL_MASK_IN (LPOLLIN | LPOLLERR | LPOLLHUP | LPOLLRDHUP)
 #define CLIENT_POLL_MASK_IN_OUT (CLIENT_POLL_MASK_IN | LPOLLOUT)
@@ -258,7 +259,7 @@ unsigned long lttng_condition_buffer_usage_hash(
                hash ^= hash_key_str(condition->session_name, lttng_ht_seed);
        }
        if (condition->channel_name) {
-               hash ^= hash_key_str(condition->session_name, lttng_ht_seed);
+               hash ^= hash_key_str(condition->channel_name, lttng_ht_seed);
        }
        if (condition->domain.set) {
                hash ^= hash_key_ulong(
@@ -405,6 +406,7 @@ int notification_thread_client_subscribe(struct notification_client *client,
                        &iter);
        node = cds_lfht_iter_get_node(&iter);
        if (!node) {
+               free(client_list_element);
                goto end_unlock;
        }
 
@@ -1948,9 +1950,7 @@ int handle_notification_thread_channel_sample(
         * The monitoring pipe only holds messages smaller than PIPE_BUF,
         * ensuring that read/write of sampling messages are atomic.
         */
-       do {
-               ret = read(pipe, &sample_msg, sizeof(sample_msg));
-       } while (ret == -1 && errno == EINTR);
+       ret = lttng_read(pipe, &sample_msg, sizeof(sample_msg));
        if (ret != sizeof(sample_msg)) {
                ERR("[notification-thread] Failed to read from monitoring pipe (fd = %i)",
                                pipe);
This page took 0.028743 seconds and 5 git commands to generate.