projects
/
lttng-ust.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
init private data
[lttng-ust.git]
/
liblttng-ust
/
ltt-events.c
diff --git
a/liblttng-ust/ltt-events.c
b/liblttng-ust/ltt-events.c
index fc7dfc7c78a7334f6676e8b6ac9b2242a3bae855..4c41531a6519c05d1373c53c43de738bbc98b952 100644
(file)
--- a/
liblttng-ust/ltt-events.c
+++ b/
liblttng-ust/ltt-events.c
@@
-293,9
+293,10
@@
struct ltt_channel *ltt_channel_create(struct ltt_session *session,
unsigned int switch_timer_interval,
unsigned int read_timer_interval,
int *shm_fd, int *wait_fd,
unsigned int switch_timer_interval,
unsigned int read_timer_interval,
int *shm_fd, int *wait_fd,
- uint64_t *memory_map_size)
+ uint64_t *memory_map_size,
+ struct ltt_channel *chan_priv_init)
{
{
- 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,21
+307,18
@@
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++;
+ chan_priv_init->id = session->free_chan_id++;
+ chan_priv_init->session = session;
/*
* 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,
subbuf_size, num_subbuf, switch_timer_interval,
read_timer_interval, shm_fd, wait_fd,
- memory_map_size);
- if (!chan
->chan
)
+ memory_map_size
, chan_priv_init
);
+ if (!chan)
goto create_error;
chan->enabled = 1;
chan->ops = &transport->ops;
goto create_error;
chan->enabled = 1;
chan->ops = &transport->ops;
@@
-328,8
+326,6
@@
struct ltt_channel *ltt_channel_create(struct ltt_session *session,
return chan;
create_error:
return chan;
create_error:
- free(chan);
-nomem:
notransport:
active:
return NULL;
notransport:
active:
return NULL;
@@
-341,10
+337,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.036365 seconds
and
4
git commands to generate.