projects
/
lttng-ust.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Move struct ltt_channel to shm for consumer flush
[lttng-ust.git]
/
liblttng-ust
/
ltt-events.c
diff --git
a/liblttng-ust/ltt-events.c
b/liblttng-ust/ltt-events.c
index fc7dfc7c78a7334f6676e8b6ac9b2242a3bae855..d31412c6747490db0428826c0c028d2c36c25d6d 100644
(file)
--- a/
liblttng-ust/ltt-events.c
+++ b/
liblttng-ust/ltt-events.c
@@
-295,7
+295,7
@@
struct ltt_channel *ltt_channel_create(struct ltt_session *session,
int *shm_fd, int *wait_fd,
uint64_t *memory_map_size)
{
int *shm_fd, int *wait_fd,
uint64_t *memory_map_size)
{
- struct ltt_channel *chan;
+ struct ltt_channel *chan
= NULL
;
struct ltt_transport *transport;
if (session->been_active)
struct ltt_transport *transport;
if (session->been_active)
@@
-306,30
+306,25
@@
struct ltt_channel *ltt_channel_create(struct ltt_session *session,
transport_name);
goto notransport;
}
transport_name);
goto notransport;
}
- chan = zmalloc(sizeof(struct ltt_channel));
- if (!chan)
- goto nomem;
- chan->session = session;
- chan->id = session->free_chan_id++;
/*
* Note: the channel creation op already writes into the packet
* headers. Therefore the "chan" information used as input
* should be already accessible.
*/
/*
* Note: the channel creation op already writes into the packet
* headers. Therefore the "chan" information used as input
* should be already accessible.
*/
-
transport->ops.channel_create("[lttng]", chan
, buf_addr,
+
chan = transport->ops.channel_create("[lttng]"
, buf_addr,
subbuf_size, num_subbuf, switch_timer_interval,
read_timer_interval, shm_fd, wait_fd,
memory_map_size);
subbuf_size, num_subbuf, switch_timer_interval,
read_timer_interval, shm_fd, wait_fd,
memory_map_size);
- if (!chan
->chan
)
+ if (!chan)
goto create_error;
goto create_error;
+ chan->session = session;
+ chan->id = session->free_chan_id++;
chan->enabled = 1;
chan->ops = &transport->ops;
cds_list_add(&chan->list, &session->chan);
return chan;
create_error:
chan->enabled = 1;
chan->ops = &transport->ops;
cds_list_add(&chan->list, &session->chan);
return chan;
create_error:
- free(chan);
-nomem:
notransport:
active:
return NULL;
notransport:
active:
return NULL;
@@
-341,10
+336,9
@@
active:
static
void _ltt_channel_destroy(struct ltt_channel *chan)
{
static
void _ltt_channel_destroy(struct ltt_channel *chan)
{
- chan->ops->channel_destroy(chan);
cds_list_del(&chan->list);
lttng_destroy_context(chan->ctx);
cds_list_del(&chan->list);
lttng_destroy_context(chan->ctx);
-
free
(chan);
+
chan->ops->channel_destroy
(chan);
}
/*
}
/*
This page took
0.024425 seconds
and
4
git commands to generate.