projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: sessiond: trace-kernel: function return code overwritten
[lttng-tools.git]
/
src
/
bin
/
lttng-sessiond
/
client.c
diff --git
a/src/bin/lttng-sessiond/client.c
b/src/bin/lttng-sessiond/client.c
index 6c17ea2c1c24995a66439bcc2b3b60228c7fadcc..c0086953a8e06bb1bb4405e3f0b3ba0954a407b4 100644
(file)
--- a/
src/bin/lttng-sessiond/client.c
+++ b/
src/bin/lttng-sessiond/client.c
@@
-43,6
+43,7
@@
#include "utils.h"
#include "manage-consumer.h"
#include "clear.h"
#include "utils.h"
#include "manage-consumer.h"
#include "clear.h"
+#include "agent-thread.h"
static bool is_root;
static bool is_root;
@@
-844,7
+845,9
@@
static int process_client_msg(struct command_ctx *cmd_ctx, int *sock,
bool need_domain;
bool need_consumerd;
bool need_domain;
bool need_consumerd;
- DBG("Processing client command %d", cmd_ctx->lsm.cmd_type);
+ DBG("Processing client command '%s\' (%d)",
+ lttcomm_sessiond_command_str(cmd_ctx->lsm.cmd_type),
+ cmd_ctx->lsm.cmd_type);
assert(!rcu_read_ongoing());
assert(!rcu_read_ongoing());
@@
-1076,6
+1079,11
@@
static int process_client_msg(struct command_ctx *cmd_ctx, int *sock,
case LTTNG_DOMAIN_JUL:
case LTTNG_DOMAIN_LOG4J:
case LTTNG_DOMAIN_PYTHON:
case LTTNG_DOMAIN_JUL:
case LTTNG_DOMAIN_LOG4J:
case LTTNG_DOMAIN_PYTHON:
+ if (!agent_tracing_is_enabled()) {
+ ret = LTTNG_ERR_AGENT_TRACING_DISABLED;
+ goto error;
+ }
+ /* Fallthrough */
case LTTNG_DOMAIN_UST:
{
if (!ust_app_supported()) {
case LTTNG_DOMAIN_UST:
{
if (!ust_app_supported()) {
@@
-2608,6
+2616,11
@@
static void *thread_manage_clients(void *data)
continue;
}
continue;
}
+ if (ret < LTTNG_OK || ret >= LTTNG_ERR_NR) {
+ WARN("Command returned an invalid status code, returning unknown error: command type = %d, ret = %d", cmd_ctx.lsm.cmd_type, ret);
+ ret = LTTNG_ERR_UNK;
+ }
+
cmd_completion_handler = cmd_pop_completion_handler();
if (cmd_completion_handler) {
enum lttng_error_code completion_code;
cmd_completion_handler = cmd_pop_completion_handler();
if (cmd_completion_handler) {
enum lttng_error_code completion_code;
@@
-2629,8
+2642,7
@@
static void *thread_manage_clients(void *data)
struct lttcomm_lttng_msg *llm = (typeof(
llm)) cmd_ctx.reply_payload.buffer.data;
struct lttcomm_lttng_msg *llm = (typeof(
llm)) cmd_ctx.reply_payload.buffer.data;
- assert(cmd_ctx.reply_payload.buffer.size >=
- sizeof(llm));
+ assert(cmd_ctx.reply_payload.buffer.size >= sizeof(*llm));
assert(cmd_ctx.lttng_msg_size == cmd_ctx.reply_payload.buffer.size);
llm->fd_count = lttng_payload_view_get_fd_handle_count(&view);
assert(cmd_ctx.lttng_msg_size == cmd_ctx.reply_payload.buffer.size);
llm->fd_count = lttng_payload_view_get_fd_handle_count(&view);
This page took
0.02477 seconds
and
4
git commands to generate.