X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=libust%2Fltt-events.c;h=8f9b7ed26410248176ec6174ce5101790bb3be23;hb=e77234624408c3d201a901121845fa5c4b93179e;hp=e68b5a2cdc186b6c1b9232cab597e1fd781cb2f3;hpb=b5234c068da77fe0b37aa7f2ba3efcb61cdb17bc;p=lttng-ust.git diff --git a/libust/ltt-events.c b/libust/ltt-events.c index e68b5a2c..8f9b7ed2 100644 --- a/libust/ltt-events.c +++ b/libust/ltt-events.c @@ -18,11 +18,14 @@ #include #include #include -#include "usterr_signal_safe.h" +#include +#include +#include +#include #include "ust/core.h" -#include "ltt-events.h" #include "ltt-tracer.h" #include "ust/wait.h" +#include "../libringbuffer/shm.h" static CDS_LIST_HEAD(sessions); static CDS_LIST_HEAD(ltt_transport_list); @@ -194,8 +197,7 @@ struct ltt_channel *ltt_channel_create(struct ltt_session *session, void *buf_addr, size_t subbuf_size, size_t num_subbuf, unsigned int switch_timer_interval, - unsigned int read_timer_interval, - int *shmid) + unsigned int read_timer_interval) { struct ltt_channel *chan; struct ltt_transport *transport; @@ -219,9 +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->chan = 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, shmid); + read_timer_interval); if (!chan->chan) goto create_error; chan->enabled = 1; @@ -245,7 +247,7 @@ active: static void _ltt_channel_destroy(struct ltt_channel *chan) { - chan->ops->channel_destroy(chan->chan); + chan->ops->channel_destroy(chan); cds_list_del(&chan->list); lttng_destroy_context(chan->ctx); free(chan); @@ -384,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 @@ -435,7 +437,20 @@ int _ltt_field_statedump(struct ltt_session *session, ? "UTF8" : "ASCII", field->type.u.basic.integer.base, -#ifdef BIG_ENDIAN +#ifdef __BIG_ENDIAN + field->type.u.basic.integer.reverse_byte_order ? " byte_order = le;" : "", +#else + field->type.u.basic.integer.reverse_byte_order ? " byte_order = be;" : "", +#endif + field->name); + break; + case atype_float: + ret = lttng_metadata_printf(session, + " floating_point { exp_dig = %u; mant_dig = %u; align = %u; } %s;\n", + field->type.u.basic._float.exp_dig, + field->type.u.basic._float.mant_dig, + field->type.u.basic._float.alignment, +#ifdef __BIG_ENDIAN field->type.u.basic.integer.reverse_byte_order ? " byte_order = le;" : "", #else field->type.u.basic.integer.reverse_byte_order ? " byte_order = be;" : "", @@ -464,7 +479,7 @@ int _ltt_field_statedump(struct ltt_session *session, ? "UTF8" : "ASCII", elem_type->u.basic.integer.base, -#ifdef BIG_ENDIAN +#ifdef __BIG_ENDIAN elem_type->u.basic.integer.reverse_byte_order ? " byte_order = le;" : "", #else elem_type->u.basic.integer.reverse_byte_order ? " byte_order = be;" : "", @@ -490,7 +505,7 @@ int _ltt_field_statedump(struct ltt_session *session, ? "UTF8" : "ASCII"), length_type->u.basic.integer.base, -#ifdef BIG_ENDIAN +#ifdef __BIG_ENDIAN length_type->u.basic.integer.reverse_byte_order ? " byte_order = le;" : "", #else length_type->u.basic.integer.reverse_byte_order ? " byte_order = be;" : "", @@ -510,7 +525,7 @@ int _ltt_field_statedump(struct ltt_session *session, ? "UTF8" : "ASCII"), elem_type->u.basic.integer.base, -#ifdef BIG_ENDIAN +#ifdef __BIG_ENDIAN elem_type->u.basic.integer.reverse_byte_order ? " byte_order = le;" : "", #else elem_type->u.basic.integer.reverse_byte_order ? " byte_order = be;" : "", @@ -737,8 +752,8 @@ int _ltt_event_header_declare(struct ltt_session *session) " } extended;\n" " } v;\n" "} align(%u);\n\n", - ltt_alignof(uint32_t) * CHAR_BIT, - ltt_alignof(uint16_t) * CHAR_BIT + lttng_alignof(uint32_t) * CHAR_BIT, + lttng_alignof(uint16_t) * CHAR_BIT ); } @@ -789,14 +804,14 @@ int _ltt_session_metadata_statedump(struct ltt_session *session) " uint32_t stream_id;\n" " };\n" "};\n\n", - ltt_alignof(uint8_t) * CHAR_BIT, - ltt_alignof(uint16_t) * CHAR_BIT, - ltt_alignof(uint32_t) * CHAR_BIT, - ltt_alignof(uint64_t) * CHAR_BIT, + lttng_alignof(uint8_t) * CHAR_BIT, + lttng_alignof(uint16_t) * CHAR_BIT, + lttng_alignof(uint32_t) * CHAR_BIT, + lttng_alignof(uint64_t) * CHAR_BIT, CTF_VERSION_MAJOR, CTF_VERSION_MINOR, uuid_s, -#ifdef BIG_ENDIAN +#ifdef __BIG_ENDIAN "be" #else "le"