X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt-events.c;h=40e8e459183efacae2744fcc6a6071bd9625e5b1;hb=67a00fae87ee17fd0a59c28b732347ee503fb07e;hp=7c08def9d2d4d8935bd5393e832fcdea3ff83a30;hpb=8fefc8a2d93a06a032c7983cf621ab3fb0c2acde;p=lttng-modules.git diff --git a/ltt-events.c b/ltt-events.c index 7c08def9..40e8e459 100644 --- a/ltt-events.c +++ b/ltt-events.c @@ -4,6 +4,8 @@ * Copyright 2010 (c) - Mathieu Desnoyers * * Holds LTTng per-session event registry. + * + * Dual LGPL v2.1/GPL v2 license. */ #include @@ -167,7 +169,6 @@ struct ltt_channel *ltt_channel_create(struct ltt_session *session, if (!chan) goto nomem; chan->session = session; - init_waitqueue_head(&chan->notify_wait); chan->id = session->free_chan_id++; /* * Note: the channel creation op already writes into the packet @@ -383,7 +384,7 @@ int lttng_metadata_printf(struct ltt_session *session, * we need to bail out after timeout or being * interrupted. */ - waitret = wait_event_interruptible_timeout(*chan->ops->get_reader_wait_queue(chan), + waitret = wait_event_interruptible_timeout(*chan->ops->get_reader_wait_queue(chan->chan), ({ ret = chan->ops->event_reserve(&ctx, 0); ret != -ENOBUFS || !ret; @@ -397,7 +398,7 @@ int lttng_metadata_printf(struct ltt_session *session, ret = waitret; goto end; } - chan->ops->event_write(&ctx, &str[pos], len); + chan->ops->event_write(&ctx, &str[pos], reserve_len); chan->ops->event_commit(&ctx); } end: @@ -470,31 +471,34 @@ int _ltt_field_statedump(struct ltt_session *session, length_type = &field->type.u.sequence.length_type; ret = lttng_metadata_printf(session, " integer { size = %u; align = %u; signed = %u; encoding = %s; base = %u;%s } __%s_length;\n", - " integer { size = %u; align = %u; signed = %u; encoding = %s; base = %u;%s } %s[ __%s_length ];\n", length_type->u.basic.integer.size, - length_type->u.basic.integer.alignment, + (unsigned int) length_type->u.basic.integer.alignment, length_type->u.basic.integer.signedness, (length_type->u.basic.integer.encoding == lttng_encode_none) ? "none" - : (length_type->u.basic.integer.encoding == lttng_encode_UTF8) + : ((length_type->u.basic.integer.encoding == lttng_encode_UTF8) ? "UTF8" - : "ASCII", + : "ASCII"), length_type->u.basic.integer.base, #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;" : "", + length_type->u.basic.integer.reverse_byte_order ? " byte_order = be;" : "", #endif - field->name, + field->name); + if (ret) + return ret; + + ret = lttng_metadata_printf(session, + " integer { size = %u; align = %u; signed = %u; encoding = %s; base = %u;%s } %s[ __%s_length ];\n", elem_type->u.basic.integer.size, - elem_type->u.basic.integer.alignment, + (unsigned int) elem_type->u.basic.integer.alignment, elem_type->u.basic.integer.signedness, (elem_type->u.basic.integer.encoding == lttng_encode_none) ? "none" - : (elem_type->u.basic.integer.encoding == lttng_encode_UTF8) + : ((elem_type->u.basic.integer.encoding == lttng_encode_UTF8) ? "UTF8" - : "ASCII", + : "ASCII"), elem_type->u.basic.integer.base, #ifdef __BIG_ENDIAN elem_type->u.basic.integer.reverse_byte_order ? " byte_order = le;" : "", @@ -502,8 +506,7 @@ int _ltt_field_statedump(struct ltt_session *session, elem_type->u.basic.integer.reverse_byte_order ? " byte_order = be;" : "", #endif field->name, - field->name - ); + field->name); break; } @@ -860,9 +863,6 @@ static int __init ltt_events_init(void) { int ret; - ret = wrapper_task_prio_init(); - if (ret) - return ret; event_cache = KMEM_CACHE(ltt_event, 0); if (!event_cache) return -ENOMEM;