projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: default read timer values
[lttng-tools.git]
/
src
/
bin
/
lttng-sessiond
/
trace-ust.c
diff --git
a/src/bin/lttng-sessiond/trace-ust.c
b/src/bin/lttng-sessiond/trace-ust.c
index 3d9390db22395885cc1f62e62c90bf9167040b93..97a9c77e81f6974625877c67b4e125fde692d9e4 100644
(file)
--- a/
src/bin/lttng-sessiond/trace-ust.c
+++ b/
src/bin/lttng-sessiond/trace-ust.c
@@
-116,7
+116,8
@@
no_match:
}
/*
}
/*
- * Find the channel in the hashtable.
+ * Find the channel in the hashtable and return channel pointer. RCU read side
+ * lock MUST be acquired before calling this.
*/
struct ltt_ust_channel *trace_ust_find_channel_by_name(struct lttng_ht *ht,
char *name)
*/
struct ltt_ust_channel *trace_ust_find_channel_by_name(struct lttng_ht *ht,
char *name)
@@
-124,14
+125,11
@@
struct ltt_ust_channel *trace_ust_find_channel_by_name(struct lttng_ht *ht,
struct lttng_ht_node_str *node;
struct lttng_ht_iter iter;
struct lttng_ht_node_str *node;
struct lttng_ht_iter iter;
- rcu_read_lock();
lttng_ht_lookup(ht, (void *)name, &iter);
node = lttng_ht_iter_get_node_str(&iter);
if (node == NULL) {
lttng_ht_lookup(ht, (void *)name, &iter);
node = lttng_ht_iter_get_node_str(&iter);
if (node == NULL) {
- rcu_read_unlock();
goto error;
}
goto error;
}
- rcu_read_unlock();
DBG2("Trace UST channel %s found by name", name);
DBG2("Trace UST channel %s found by name", name);
@@
-143,7
+141,8
@@
error:
}
/*
}
/*
- * Find the event in the hashtable.
+ * Find the event in the hashtable and return event pointer. RCU read side lock
+ * MUST be acquired before calling this.
*/
struct ltt_ust_event *trace_ust_find_event(struct lttng_ht *ht,
char *name, struct lttng_filter_bytecode *filter, int loglevel)
*/
struct ltt_ust_event *trace_ust_find_event(struct lttng_ht *ht,
char *name, struct lttng_filter_bytecode *filter, int loglevel)
@@
-181,7
+180,7
@@
error:
* Return pointer to structure or NULL.
*/
struct ltt_ust_session *trace_ust_create_session(char *path,
* Return pointer to structure or NULL.
*/
struct ltt_ust_session *trace_ust_create_session(char *path,
- unsigned int session_id
, struct lttng_domain *domain
)
+ unsigned int session_id)
{
struct ltt_ust_session *lus;
{
struct ltt_ust_session *lus;
@@
-217,7
+216,7
@@
struct ltt_ust_session *trace_ust_create_session(char *path,
lus->tmp_consumer = NULL;
/* Use the default consumer output which is the tracing session path. */
lus->tmp_consumer = NULL;
/* Use the default consumer output which is the tracing session path. */
- if (
path && strlen(path) > 0
) {
+ if (
*path != '\0'
) {
int ret;
ret = snprintf(lus->consumer->dst.trace_path, PATH_MAX,
int ret;
ret = snprintf(lus->consumer->dst.trace_path, PATH_MAX,
@@
-262,6
+261,9
@@
struct ltt_ust_channel *trace_ust_create_channel(struct lttng_channel *chan,
int ret;
struct ltt_ust_channel *luc;
int ret;
struct ltt_ust_channel *luc;
+ assert(chan);
+ assert(path);
+
luc = zmalloc(sizeof(struct ltt_ust_channel));
if (luc == NULL) {
PERROR("ltt_ust_channel zmalloc");
luc = zmalloc(sizeof(struct ltt_ust_channel));
if (luc == NULL) {
PERROR("ltt_ust_channel zmalloc");
@@
-322,6
+324,8
@@
struct ltt_ust_event *trace_ust_create_event(struct lttng_event *ev,
{
struct ltt_ust_event *lue;
{
struct ltt_ust_event *lue;
+ assert(ev);
+
lue = zmalloc(sizeof(struct ltt_ust_event));
if (lue == NULL) {
PERROR("ust event zmalloc");
lue = zmalloc(sizeof(struct ltt_ust_event));
if (lue == NULL) {
PERROR("ust event zmalloc");
@@
-396,6
+400,8
@@
struct ltt_ust_metadata *trace_ust_create_metadata(char *path)
int ret;
struct ltt_ust_metadata *lum;
int ret;
struct ltt_ust_metadata *lum;
+ assert(path);
+
lum = zmalloc(sizeof(struct ltt_ust_metadata));
if (lum == NULL) {
PERROR("ust metadata zmalloc");
lum = zmalloc(sizeof(struct ltt_ust_metadata));
if (lum == NULL) {
PERROR("ust metadata zmalloc");
@@
-406,13
+412,13
@@
struct ltt_ust_metadata *trace_ust_create_metadata(char *path)
lum->attr.overwrite = DEFAULT_CHANNEL_OVERWRITE;
lum->attr.subbuf_size = default_get_metadata_subbuf_size();
lum->attr.num_subbuf = DEFAULT_METADATA_SUBBUF_NUM;
lum->attr.overwrite = DEFAULT_CHANNEL_OVERWRITE;
lum->attr.subbuf_size = default_get_metadata_subbuf_size();
lum->attr.num_subbuf = DEFAULT_METADATA_SUBBUF_NUM;
- lum->attr.switch_timer_interval = DEFAULT_CHANNEL_SWITCH_TIMER;
- lum->attr.read_timer_interval = DEFAULT_CHANNEL_READ_TIMER;
+ lum->attr.switch_timer_interval = DEFAULT_
UST_
CHANNEL_SWITCH_TIMER;
+ lum->attr.read_timer_interval = DEFAULT_
UST_
CHANNEL_READ_TIMER;
lum->attr.output = LTTNG_UST_MMAP;
lum->handle = -1;
/* Set metadata trace path */
lum->attr.output = LTTNG_UST_MMAP;
lum->handle = -1;
/* Set metadata trace path */
- ret = snprintf(lum->pathname, PATH_MAX, "%s/
metadata"
, path);
+ ret = snprintf(lum->pathname, PATH_MAX, "%s/
" DEFAULT_METADATA_NAME
, path);
if (ret < 0) {
PERROR("asprintf ust metadata");
goto error_free_metadata;
if (ret < 0) {
PERROR("asprintf ust metadata");
goto error_free_metadata;
@@
-437,6
+443,8
@@
struct ltt_ust_context *trace_ust_create_context(
struct ltt_ust_context *uctx;
enum lttng_ust_context_type utype;
struct ltt_ust_context *uctx;
enum lttng_ust_context_type utype;
+ assert(ctx);
+
switch (ctx->ctx) {
case LTTNG_EVENT_CONTEXT_VTID:
utype = LTTNG_UST_CONTEXT_VTID;
switch (ctx->ctx) {
case LTTNG_EVENT_CONTEXT_VTID:
utype = LTTNG_UST_CONTEXT_VTID;
@@
-492,6
+500,8
@@
static void destroy_contexts(struct lttng_ht *ht)
struct lttng_ht_node_ulong *node;
struct lttng_ht_iter iter;
struct lttng_ht_node_ulong *node;
struct lttng_ht_iter iter;
+ assert(ht);
+
cds_lfht_for_each_entry(ht->ht, &iter.iter, node, node) {
ret = lttng_ht_del(ht, &iter);
if (!ret) {
cds_lfht_for_each_entry(ht->ht, &iter.iter, node, node) {
ret = lttng_ht_del(ht, &iter);
if (!ret) {
@@
-507,6
+517,8
@@
static void destroy_contexts(struct lttng_ht *ht)
*/
void trace_ust_destroy_event(struct ltt_ust_event *event)
{
*/
void trace_ust_destroy_event(struct ltt_ust_event *event)
{
+ assert(event);
+
DBG2("Trace destroy UST event %s", event->attr.name);
free(event->filter);
free(event);
DBG2("Trace destroy UST event %s", event->attr.name);
free(event->filter);
free(event);
@@
-534,6
+546,8
@@
static void destroy_events(struct lttng_ht *events)
struct lttng_ht_node_str *node;
struct lttng_ht_iter iter;
struct lttng_ht_node_str *node;
struct lttng_ht_iter iter;
+ assert(events);
+
cds_lfht_for_each_entry(events->ht, &iter.iter, node, node) {
ret = lttng_ht_del(events, &iter);
assert(!ret);
cds_lfht_for_each_entry(events->ht, &iter.iter, node, node) {
ret = lttng_ht_del(events, &iter);
assert(!ret);
@@
-548,6
+562,8
@@
static void destroy_events(struct lttng_ht *events)
*/
void trace_ust_destroy_channel(struct ltt_ust_channel *channel)
{
*/
void trace_ust_destroy_channel(struct ltt_ust_channel *channel)
{
+ assert(channel);
+
DBG2("Trace destroy UST channel %s", channel->name);
rcu_read_lock();
DBG2("Trace destroy UST channel %s", channel->name);
rcu_read_lock();
@@
-580,6
+596,8
@@
static void destroy_channel_rcu(struct rcu_head *head)
*/
void trace_ust_destroy_metadata(struct ltt_ust_metadata *metadata)
{
*/
void trace_ust_destroy_metadata(struct ltt_ust_metadata *metadata)
{
+ assert(metadata);
+
if (!metadata->handle) {
return;
}
if (!metadata->handle) {
return;
}
@@
-596,6
+614,8
@@
static void destroy_channels(struct lttng_ht *channels)
struct lttng_ht_node_str *node;
struct lttng_ht_iter iter;
struct lttng_ht_node_str *node;
struct lttng_ht_iter iter;
+ assert(channels);
+
rcu_read_lock();
cds_lfht_for_each_entry(channels->ht, &iter.iter, node, node) {
rcu_read_lock();
cds_lfht_for_each_entry(channels->ht, &iter.iter, node, node) {
@@
-618,6
+638,8
@@
static void destroy_domain_pid(struct lttng_ht *ht)
struct lttng_ht_iter iter;
struct ltt_ust_domain_pid *dpid;
struct lttng_ht_iter iter;
struct ltt_ust_domain_pid *dpid;
+ assert(ht);
+
cds_lfht_for_each_entry(ht->ht, &iter.iter, dpid, node.node) {
ret = lttng_ht_del(ht , &iter);
assert(!ret);
cds_lfht_for_each_entry(ht->ht, &iter.iter, dpid, node.node) {
ret = lttng_ht_del(ht , &iter);
assert(!ret);
@@
-636,6
+658,8
@@
static void destroy_domain_exec(struct lttng_ht *ht)
struct lttng_ht_iter iter;
struct ltt_ust_domain_exec *dexec;
struct lttng_ht_iter iter;
struct ltt_ust_domain_exec *dexec;
+ assert(ht);
+
cds_lfht_for_each_entry(ht->ht, &iter.iter, dexec, node.node) {
ret = lttng_ht_del(ht , &iter);
assert(!ret);
cds_lfht_for_each_entry(ht->ht, &iter.iter, dexec, node.node) {
ret = lttng_ht_del(ht , &iter);
assert(!ret);
@@
-650,6
+674,8
@@
static void destroy_domain_exec(struct lttng_ht *ht)
*/
static void destroy_domain_global(struct ltt_ust_domain_global *dom)
{
*/
static void destroy_domain_global(struct ltt_ust_domain_global *dom)
{
+ assert(dom);
+
destroy_channels(dom->channels);
}
destroy_channels(dom->channels);
}
@@
-658,10
+684,7
@@
static void destroy_domain_global(struct ltt_ust_domain_global *dom)
*/
void trace_ust_destroy_session(struct ltt_ust_session *session)
{
*/
void trace_ust_destroy_session(struct ltt_ust_session *session)
{
- /* Extra protection */
- if (session == NULL) {
- return;
- }
+ assert(session);
rcu_read_lock();
rcu_read_lock();
This page took
0.026014 seconds
and
4
git commands to generate.