projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: consumer: incorrect size zmalloc
[lttng-tools.git]
/
src
/
common
/
consumer.c
diff --git
a/src/common/consumer.c
b/src/common/consumer.c
index 30a95b48f4fc7d12e307e3752ff9f2b4d2bc19cd..c7bc1e7a05b75010135d18cda82bf7fa322b1150 100644
(file)
--- a/
src/common/consumer.c
+++ b/
src/common/consumer.c
@@
-465,7
+465,8
@@
struct lttng_consumer_stream *consumer_allocate_stream(uint64_t channel_key,
uint64_t session_id,
int cpu,
int *alloc_ret,
uint64_t session_id,
int cpu,
int *alloc_ret,
- enum consumer_channel_type type)
+ enum consumer_channel_type type,
+ unsigned int monitor)
{
int ret;
struct lttng_consumer_stream *stream;
{
int ret;
struct lttng_consumer_stream *stream;
@@
-487,6
+488,7
@@
struct lttng_consumer_stream *consumer_allocate_stream(uint64_t channel_key,
stream->gid = gid;
stream->net_seq_idx = relayd_id;
stream->session_id = session_id;
stream->gid = gid;
stream->net_seq_idx = relayd_id;
stream->session_id = session_id;
+ stream->monitor = monitor;
pthread_mutex_init(&stream->lock, NULL);
/* If channel is the metadata, flag this stream as metadata. */
pthread_mutex_init(&stream->lock, NULL);
/* If channel is the metadata, flag this stream as metadata. */
@@
-538,7
+540,6
@@
static int add_stream(struct lttng_consumer_stream *stream,
struct lttng_ht *ht)
{
int ret = 0;
struct lttng_ht *ht)
{
int ret = 0;
- struct consumer_relayd_sock_pair *relayd;
assert(stream);
assert(ht);
assert(stream);
assert(ht);
@@
-564,12
+565,6
@@
static int add_stream(struct lttng_consumer_stream *stream,
*/
lttng_ht_add_u64(consumer_data.stream_list_ht, &stream->node_session_id);
*/
lttng_ht_add_u64(consumer_data.stream_list_ht, &stream->node_session_id);
- /* Check and cleanup relayd */
- relayd = consumer_find_relayd(stream->net_seq_idx);
- if (relayd != NULL) {
- uatomic_inc(&relayd->refcount);
- }
-
/*
* When nb_init_stream_left reaches 0, we don't need to trigger any action
* in terms of destroying the associated channel, because the action that
/*
* When nb_init_stream_left reaches 0, we don't need to trigger any action
* in terms of destroying the associated channel, because the action that
@@
-707,6
+702,7
@@
int consumer_send_relayd_stream(struct lttng_consumer_stream *stream,
goto end;
}
uatomic_inc(&relayd->refcount);
goto end;
}
uatomic_inc(&relayd->refcount);
+ stream->sent_to_relayd = 1;
} else {
ERR("Stream %" PRIu64 " relayd ID %" PRIu64 " unknown. Can't send it.",
stream->key, stream->net_seq_idx);
} else {
ERR("Stream %" PRIu64 " relayd ID %" PRIu64 " unknown. Can't send it.",
stream->key, stream->net_seq_idx);
@@
-1967,7
+1963,6
@@
static int add_metadata_stream(struct lttng_consumer_stream *stream,
struct lttng_ht *ht)
{
int ret = 0;
struct lttng_ht *ht)
{
int ret = 0;
- struct consumer_relayd_sock_pair *relayd;
struct lttng_ht_iter iter;
struct lttng_ht_node_u64 *node;
struct lttng_ht_iter iter;
struct lttng_ht_node_u64 *node;
@@
-1994,12
+1989,6
@@
static int add_metadata_stream(struct lttng_consumer_stream *stream,
node = lttng_ht_iter_get_node_u64(&iter);
assert(!node);
node = lttng_ht_iter_get_node_u64(&iter);
assert(!node);
- /* Find relayd and, if one is found, increment refcount. */
- relayd = consumer_find_relayd(stream->net_seq_idx);
- if (relayd != NULL) {
- uatomic_inc(&relayd->refcount);
- }
-
/*
* When nb_init_stream_left reaches 0, we don't need to trigger any action
* in terms of destroying the associated channel, because the action that
/*
* When nb_init_stream_left reaches 0, we don't need to trigger any action
* in terms of destroying the associated channel, because the action that
@@
-2302,7
+2291,11
@@
void *consumer_thread_data_poll(void *data)
goto end;
}
goto end;
}
- local_stream = zmalloc(sizeof(struct lttng_consumer_stream));
+ local_stream = zmalloc(sizeof(struct lttng_consumer_stream *));
+ if (local_stream == NULL) {
+ PERROR("local_stream malloc");
+ goto end;
+ }
while (1) {
high_prio = 0;
while (1) {
high_prio = 0;
This page took
0.023997 seconds
and
4
git commands to generate.