projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: consumer health state
[lttng-tools.git]
/
src
/
bin
/
lttng-sessiond
/
cmd.c
diff --git
a/src/bin/lttng-sessiond/cmd.c
b/src/bin/lttng-sessiond/cmd.c
index 1d4f9264eb0a57e4aedfa595767b1478b9402a4f..184dd494c74cfa29fe3408da36f94085df91b3ca 100644
(file)
--- a/
src/bin/lttng-sessiond/cmd.c
+++ b/
src/bin/lttng-sessiond/cmd.c
@@
-584,7
+584,7
@@
close_sock:
static int send_consumer_relayd_sockets(int domain,
struct ltt_session *session, struct consumer_output *consumer, int fd)
{
static int send_consumer_relayd_sockets(int domain,
struct ltt_session *session, struct consumer_output *consumer, int fd)
{
- int ret;
+ int ret
= LTTNG_OK
;
assert(session);
assert(consumer);
assert(session);
assert(consumer);
@@
-640,7
+640,7
@@
static int setup_relayd(struct ltt_session *session)
assert(socket->fd >= 0);
pthread_mutex_lock(socket->lock);
assert(socket->fd >= 0);
pthread_mutex_lock(socket->lock);
- send_consumer_relayd_sockets(LTTNG_DOMAIN_UST, session,
+
ret =
send_consumer_relayd_sockets(LTTNG_DOMAIN_UST, session,
usess->consumer, socket->fd);
pthread_mutex_unlock(socket->lock);
if (ret != LTTNG_OK) {
usess->consumer, socket->fd);
pthread_mutex_unlock(socket->lock);
if (ret != LTTNG_OK) {
@@
-657,7
+657,7
@@
static int setup_relayd(struct ltt_session *session)
assert(socket->fd >= 0);
pthread_mutex_lock(socket->lock);
assert(socket->fd >= 0);
pthread_mutex_lock(socket->lock);
- send_consumer_relayd_sockets(LTTNG_DOMAIN_KERNEL, session,
+
ret =
send_consumer_relayd_sockets(LTTNG_DOMAIN_KERNEL, session,
ksess->consumer, socket->fd);
pthread_mutex_unlock(socket->lock);
if (ret != LTTNG_OK) {
ksess->consumer, socket->fd);
pthread_mutex_unlock(socket->lock);
if (ret != LTTNG_OK) {
@@
-1528,11
+1528,6
@@
int cmd_set_consumer_uri(int domain, struct ltt_session *session,
goto error;
}
goto error;
}
- if (!session->start_consumer) {
- ret = LTTNG_ERR_NO_CONSUMER;
- goto error;
- }
-
/*
* This case switch makes sure the domain session has a temporary consumer
* so the URL can be set.
/*
* This case switch makes sure the domain session has a temporary consumer
* so the URL can be set.
@@
-2142,11
+2137,6
@@
int cmd_enable_consumer(int domain, struct ltt_session *session)
goto error;
}
goto error;
}
- if (!session->start_consumer) {
- ret = LTTNG_ERR_NO_CONSUMER;
- goto error;
- }
-
switch (domain) {
case 0:
assert(session->consumer);
switch (domain) {
case 0:
assert(session->consumer);
@@
-2213,11
+2203,6
@@
int cmd_enable_consumer(int domain, struct ltt_session *session)
break;
}
break;
}
- /* Append default kernel trace dir to subdir */
- strncat(ksess->consumer->subdir, DEFAULT_KERNEL_TRACE_DIR,
- sizeof(ksess->consumer->subdir) -
- strlen(ksess->consumer->subdir) - 1);
-
/*
* @session-lock
* This is race free for now since the session lock is acquired before
/*
* @session-lock
* This is race free for now since the session lock is acquired before
@@
-2226,6
+2211,7
@@
int cmd_enable_consumer(int domain, struct ltt_session *session)
* is valid.
*/
rcu_read_lock();
* is valid.
*/
rcu_read_lock();
+ /* Destroy current consumer. We are about to replace it */
consumer_destroy_output(ksess->consumer);
rcu_read_unlock();
ksess->consumer = consumer;
consumer_destroy_output(ksess->consumer);
rcu_read_unlock();
ksess->consumer = consumer;
@@
-2299,11
+2285,6
@@
int cmd_enable_consumer(int domain, struct ltt_session *session)
break;
}
break;
}
- /* Append default kernel trace dir to subdir */
- strncat(usess->consumer->subdir, DEFAULT_UST_TRACE_DIR,
- sizeof(usess->consumer->subdir) -
- strlen(usess->consumer->subdir) - 1);
-
/*
* @session-lock
* This is race free for now since the session lock is acquired before
/*
* @session-lock
* This is race free for now since the session lock is acquired before
@@
-2312,6
+2293,7
@@
int cmd_enable_consumer(int domain, struct ltt_session *session)
* is valid.
*/
rcu_read_lock();
* is valid.
*/
rcu_read_lock();
+ /* Destroy current consumer. We are about to replace it */
consumer_destroy_output(usess->consumer);
rcu_read_unlock();
usess->consumer = consumer;
consumer_destroy_output(usess->consumer);
rcu_read_unlock();
usess->consumer = consumer;
@@
-2320,6
+2302,8
@@
int cmd_enable_consumer(int domain, struct ltt_session *session)
break;
}
break;
}
+ session->start_consumer = 1;
+
/* Enable it */
if (consumer) {
consumer->enabled = 1;
/* Enable it */
if (consumer) {
consumer->enabled = 1;
This page took
0.026668 seconds
and
4
git commands to generate.