X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fcmd.c;h=2e2ae6006023c13b8457b30071e1332fdf24ef14;hb=f28f9e449e13d6a3495408e5329514fa5ca7150e;hp=ad635a9a96b631880171e012aeb462311424bade;hpb=a5df8828164272c26e88028b00e6e1ec88ee222d;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/cmd.c b/src/bin/lttng-sessiond/cmd.c index ad635a9a9..2e2ae6006 100644 --- a/src/bin/lttng-sessiond/cmd.c +++ b/src/bin/lttng-sessiond/cmd.c @@ -47,7 +47,7 @@ #include "kernel-consumer.h" #include "lttng-sessiond.h" #include "utils.h" -#include "syscall.h" +#include "lttng-syscall.h" #include "agent.h" #include "buffer-registry.h" #include "notification-thread.h" @@ -55,6 +55,7 @@ #include "rotate.h" #include "rotation-thread.h" #include "sessiond-timer.h" +#include "agent-thread.h" #include "cmd.h" @@ -1384,9 +1385,15 @@ int cmd_enable_channel(struct ltt_session *session, break; } case LTTNG_DOMAIN_UST: + break; case LTTNG_DOMAIN_JUL: case LTTNG_DOMAIN_LOG4J: case LTTNG_DOMAIN_PYTHON: + if (!agent_tracing_is_enabled()) { + DBG("Attempted to enable a channel in an agent domain but the agent thread is not running"); + ret = LTTNG_ERR_AGENT_TRACING_DISABLED; + goto error; + } break; default: ret = LTTNG_ERR_UNKNOWN_DOMAIN; @@ -2094,6 +2101,12 @@ static int _cmd_enable_event(struct ltt_session *session, assert(usess); + if (!agent_tracing_is_enabled()) { + DBG("Attempted to enable an event in an agent domain but the agent thread is not running"); + ret = LTTNG_ERR_AGENT_TRACING_DISABLED; + goto error; + } + agt = trace_ust_find_agent(usess, domain->type); if (!agt) { agt = agent_create(domain->type); @@ -4648,7 +4661,7 @@ int cmd_rotate_get_info(struct ltt_session *session, current_tracing_path_reply_len = sizeof(info_return->location.local.absolute_path); info_return->location_type = - (uint8_t) LTTNG_TRACE_ARCHIVE_LOCATION_TYPE_LOCAL; + (int8_t) LTTNG_TRACE_ARCHIVE_LOCATION_TYPE_LOCAL; break; case CONSUMER_DST_NET: current_tracing_path_reply = @@ -4657,7 +4670,7 @@ int cmd_rotate_get_info(struct ltt_session *session, sizeof(info_return->location.relay.relative_path); /* Currently the only supported relay protocol. */ info_return->location.relay.protocol = - (uint8_t) LTTNG_TRACE_ARCHIVE_LOCATION_RELAY_PROTOCOL_TYPE_TCP; + (int8_t) LTTNG_TRACE_ARCHIVE_LOCATION_RELAY_PROTOCOL_TYPE_TCP; ret = lttng_strncpy(info_return->location.relay.host, session_get_net_consumer_hostname(session), @@ -4673,7 +4686,7 @@ int cmd_rotate_get_info(struct ltt_session *session, &info_return->location.relay.ports.control, &info_return->location.relay.ports.data); info_return->location_type = - (uint8_t) LTTNG_TRACE_ARCHIVE_LOCATION_TYPE_RELAY; + (int8_t) LTTNG_TRACE_ARCHIVE_LOCATION_TYPE_RELAY; break; default: abort();