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:
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:
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;
* 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;