projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: Missing rcu_read_lock in cmd_list_events()
[lttng-tools.git]
/
src
/
bin
/
lttng-sessiond
/
kernel-consumer.c
diff --git
a/src/bin/lttng-sessiond/kernel-consumer.c
b/src/bin/lttng-sessiond/kernel-consumer.c
index 4153612746f90c84780b208b94ce2ce731126217..f634cd362a74fd810622d8d49c28397c137b4a27 100644
(file)
--- a/
src/bin/lttng-sessiond/kernel-consumer.c
+++ b/
src/bin/lttng-sessiond/kernel-consumer.c
@@
-16,6
+16,7
@@
*/
#define _GNU_SOURCE
*/
#define _GNU_SOURCE
+#define _LGPL_SOURCE
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@
-105,7
+106,7
@@
int kernel_consumer_add_channel(struct consumer_socket *sock,
}
} else {
/* Empty path. */
}
} else {
/* Empty path. */
- pathname =
""
;
+ pathname =
strdup("")
;
}
/* Prep channel message structure */
}
/* Prep channel message structure */
@@
-136,6
+137,7
@@
int kernel_consumer_add_channel(struct consumer_socket *sock,
health_code_update();
error:
health_code_update();
error:
+ free(pathname);
return ret;
}
return ret;
}
@@
-168,7
+170,7
@@
int kernel_consumer_add_metadata(struct consumer_socket *sock,
}
} else {
/* Empty path. */
}
} else {
/* Empty path. */
- pathname =
""
;
+ pathname =
strdup("")
;
}
/* Prep channel message structure */
}
/* Prep channel message structure */
@@
-215,6
+217,7
@@
int kernel_consumer_add_metadata(struct consumer_socket *sock,
health_code_update();
error:
health_code_update();
error:
+ free(pathname);
return ret;
}
return ret;
}
@@
-371,14
+374,11
@@
int kernel_consumer_send_session(struct consumer_socket *sock,
DBG("Sending session stream to kernel consumer");
DBG("Sending session stream to kernel consumer");
- if (session->metadata_stream_fd >= 0) {
+ if (session->metadata_stream_fd >= 0
&& session->metadata
) {
ret = kernel_consumer_add_metadata(sock, session, monitor);
if (ret < 0) {
goto error;
}
ret = kernel_consumer_add_metadata(sock, session, monitor);
if (ret < 0) {
goto error;
}
-
- /* Flag that at least the metadata has been sent to the consumer. */
- session->consumer_fds_sent = 1;
}
/* Send channel and streams of it */
}
/* Send channel and streams of it */
@@
-402,6
+402,7
@@
int kernel_consumer_send_session(struct consumer_socket *sock,
DBG("Kernel consumer FDs of metadata and channel streams sent");
DBG("Kernel consumer FDs of metadata and channel streams sent");
+ session->consumer_fds_sent = 1;
return 0;
error:
return 0;
error:
@@
-419,6
+420,7
@@
int kernel_consumer_destroy_channel(struct consumer_socket *socket,
DBG("Sending kernel consumer destroy channel key %d", channel->fd);
DBG("Sending kernel consumer destroy channel key %d", channel->fd);
+ memset(&msg, 0, sizeof(msg));
msg.cmd_type = LTTNG_CONSUMER_DESTROY_CHANNEL;
msg.u.destroy_channel.key = channel->fd;
msg.cmd_type = LTTNG_CONSUMER_DESTROY_CHANNEL;
msg.u.destroy_channel.key = channel->fd;
@@
-447,6
+449,7
@@
int kernel_consumer_destroy_metadata(struct consumer_socket *socket,
DBG("Sending kernel consumer destroy channel key %d", metadata->fd);
DBG("Sending kernel consumer destroy channel key %d", metadata->fd);
+ memset(&msg, 0, sizeof(msg));
msg.cmd_type = LTTNG_CONSUMER_DESTROY_CHANNEL;
msg.u.destroy_channel.key = metadata->fd;
msg.cmd_type = LTTNG_CONSUMER_DESTROY_CHANNEL;
msg.u.destroy_channel.key = metadata->fd;
This page took
0.024468 seconds
and
4
git commands to generate.