X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=libust%2Fltt-events.c;h=c99b6689200b3c8775569d8bafe05a1d1d088072;hb=afdf9825400f1b975a98202a3e9dcbec0a572a56;hp=ece959b3e88c8237f0bf542fb50cf7f57871b5e6;hpb=1dbfff0c0126804b07e9c11ba2307f65a95a650b;p=lttng-ust.git diff --git a/libust/ltt-events.c b/libust/ltt-events.c index ece959b3..c99b6689 100644 --- a/libust/ltt-events.c +++ b/libust/ltt-events.c @@ -50,10 +50,10 @@ struct ltt_session *ltt_session_create(void) { struct ltt_session *session; - pthread_mutex_lock(&sessions_mutex); session = zmalloc(sizeof(struct ltt_session)); if (!session) return NULL; + pthread_mutex_lock(&sessions_mutex); CDS_INIT_LIST_HEAD(&session->chan); CDS_INIT_LIST_HEAD(&session->events); uuid_generate(session->uuid); @@ -221,10 +221,9 @@ struct ltt_channel *ltt_channel_create(struct ltt_session *session, * headers. Therefore the "chan" information used as input * should be already accessible. */ - chan->handle = transport->ops.channel_create("[lttng]", chan, buf_addr, + transport->ops.channel_create("[lttng]", chan, buf_addr, subbuf_size, num_subbuf, switch_timer_interval, read_timer_interval); - chan->chan = shmp(chan->handle->header->chan); if (!chan->chan) goto create_error; chan->enabled = 1; @@ -248,7 +247,7 @@ active: static void _ltt_channel_destroy(struct ltt_channel *chan) { - chan->ops->channel_destroy(chan->handle); + chan->ops->channel_destroy(chan); cds_list_del(&chan->list); lttng_destroy_context(chan->ctx); free(chan); @@ -387,10 +386,10 @@ int lttng_metadata_printf(struct ltt_session *session, for (pos = 0; pos < len; pos += reserve_len) { reserve_len = min_t(size_t, - chan->ops->packet_avail_size(chan->chan), + chan->ops->packet_avail_size(chan->chan, chan->handle), len - pos); lib_ring_buffer_ctx_init(&ctx, chan->chan, NULL, reserve_len, - sizeof(char), -1); + sizeof(char), -1, chan->handle); /* * We don't care about metadata buffer's records lost * count, because we always retry here. Report error if @@ -871,8 +870,7 @@ void ltt_transport_unregister(struct ltt_transport *transport) pthread_mutex_unlock(&sessions_mutex); } -static -void __attribute__((destructor)) ltt_events_exit(void) +void ltt_events_exit(void) { struct ltt_session *session, *tmpsession;