X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fclient.cpp;h=43a8b793e9ed366d5be2631feca34cc8f190ddef;hb=cfcb1e562fa9517544e1b2b02e73311390721f73;hp=90ab4cdc02a38aef1aff28f4bfc1b7953f8d1421;hpb=dd7ef1243236f524e57b25baa038973e793d5d72;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/client.cpp b/src/bin/lttng-sessiond/client.cpp index 90ab4cdc0..43a8b793e 100644 --- a/src/bin/lttng-sessiond/client.cpp +++ b/src/bin/lttng-sessiond/client.cpp @@ -1033,6 +1033,7 @@ static int process_client_msg(struct command_ctx *cmd_ctx, int *sock, int *sock_ case LTTCOMM_SESSIOND_COMMAND_CLEAR_SESSION: case LTTCOMM_SESSIOND_COMMAND_LIST_TRIGGERS: case LTTCOMM_SESSIOND_COMMAND_EXECUTE_ERROR_QUERY: + case LTTCOMM_SESSIOND_COMMAND_KERNEL_TRACER_STATUS: need_domain = false; break; default: @@ -1116,6 +1117,7 @@ static int process_client_msg(struct command_ctx *cmd_ctx, int *sock, int *sock_ case LTTCOMM_SESSIOND_COMMAND_UNREGISTER_TRIGGER: case LTTCOMM_SESSIOND_COMMAND_LIST_TRIGGERS: case LTTCOMM_SESSIOND_COMMAND_EXECUTE_ERROR_QUERY: + case LTTCOMM_SESSIOND_COMMAND_KERNEL_TRACER_STATUS: need_tracing_session = false; break; default: @@ -1927,6 +1929,25 @@ skip_domain: cmd_ctx->session, cmd_ctx->lsm.domain.type, cmd_ctx->lsm.u.reg.path, cdata); break; } + case LTTCOMM_SESSIOND_COMMAND_KERNEL_TRACER_STATUS: + { + uint32_t u_status; + enum lttng_kernel_tracer_status status; + + ret = cmd_kernel_tracer_status(&status); + if (ret != LTTNG_OK) { + goto error; + } + + u_status = (uint32_t) status; + ret = setup_lttng_msg_no_cmd_header(cmd_ctx, &u_status, 4); + if (ret < 0) { + goto error; + } + + ret = LTTNG_OK; + break; + } case LTTCOMM_SESSIOND_COMMAND_DATA_PENDING: { int pending_ret; @@ -1948,12 +1969,12 @@ skip_domain: * ret will be set to LTTNG_OK at the end of * this function. */ - } else if (pending_ret < 0) { + } else if (pending_ret <= LTTNG_OK || pending_ret >= LTTNG_ERR_NR) { ret = LTTNG_ERR_UNK; - goto setup_error; + goto error; } else { ret = pending_ret; - goto setup_error; + goto error; } pending_ret_byte = (uint8_t) pending_ret;