X-Git-Url: http://git.efficios.com/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fcmd.c;h=200396df67688be647e3d56f74dbb2d47d9cc08d;hp=2963577563cc94aa658003e89095c95b36fdb770;hb=3a91de3ac8a651db110efe1214181d75b036b141;hpb=c0a66c84b5b2484b75798aec7543b680b4d4ab6c diff --git a/src/bin/lttng-sessiond/cmd.c b/src/bin/lttng-sessiond/cmd.c index 296357756..200396df6 100644 --- a/src/bin/lttng-sessiond/cmd.c +++ b/src/bin/lttng-sessiond/cmd.c @@ -819,8 +819,7 @@ end: return nb_event; error: - /* Negate the error code to differentiate the size from an error */ - return -ret; + return ret; } /* @@ -2794,6 +2793,16 @@ int cmd_start_trace(struct ltt_session *session) } } + /* + * Open a packet in every stream of the session to ensure that viewers + * can correctly identify the boundaries of the periods during which + * tracing was active for this session. + */ + ret = session_open_packets(session); + if (ret != LTTNG_OK) { + goto error; + } + /* * Clear the flag that indicates that a rotation was done while the * session was stopped. @@ -3177,19 +3186,19 @@ enum lttng_error_code cmd_create_session(struct command_ctx *cmd_ctx, int sock, enum lttng_error_code ret_code; lttng_dynamic_buffer_init(&payload); - if (cmd_ctx->lsm->u.create_session.home_dir_size >= + if (cmd_ctx->lsm.u.create_session.home_dir_size >= LTTNG_PATH_MAX) { ret_code = LTTNG_ERR_INVALID; goto error; } - if (cmd_ctx->lsm->u.create_session.session_descriptor_size > + if (cmd_ctx->lsm.u.create_session.session_descriptor_size > LTTNG_SESSION_DESCRIPTOR_MAX_LEN) { ret_code = LTTNG_ERR_INVALID; goto error; } - payload_size = cmd_ctx->lsm->u.create_session.home_dir_size + - cmd_ctx->lsm->u.create_session.session_descriptor_size; + payload_size = cmd_ctx->lsm.u.create_session.home_dir_size + + cmd_ctx->lsm.u.create_session.session_descriptor_size; ret = lttng_dynamic_buffer_set_size(&payload, payload_size); if (ret) { ret_code = LTTNG_ERR_NOMEM; @@ -3206,11 +3215,11 @@ enum lttng_error_code cmd_create_session(struct command_ctx *cmd_ctx, int sock, home_dir_view = lttng_buffer_view_from_dynamic_buffer( &payload, 0, - cmd_ctx->lsm->u.create_session.home_dir_size); + cmd_ctx->lsm.u.create_session.home_dir_size); session_descriptor_view = lttng_buffer_view_from_dynamic_buffer( &payload, - cmd_ctx->lsm->u.create_session.home_dir_size, - cmd_ctx->lsm->u.create_session.session_descriptor_size); + cmd_ctx->lsm.u.create_session.home_dir_size, + cmd_ctx->lsm.u.create_session.session_descriptor_size); ret = lttng_session_descriptor_create_from_buffer( &session_descriptor_view, &session_descriptor); @@ -4356,7 +4365,7 @@ int cmd_register_trigger(struct command_ctx *cmd_ctx, int sock, struct lttng_payload trigger_payload; lttng_payload_init(&trigger_payload); - trigger_len = (size_t) cmd_ctx->lsm->u.trigger.length; + trigger_len = (size_t) cmd_ctx->lsm.u.trigger.length; ret = lttng_dynamic_buffer_set_size( &trigger_payload.buffer, trigger_len); if (ret) { @@ -4406,7 +4415,7 @@ int cmd_unregister_trigger(struct command_ctx *cmd_ctx, int sock, struct lttng_payload trigger_payload; lttng_payload_init(&trigger_payload); - trigger_len = (size_t) cmd_ctx->lsm->u.trigger.length; + trigger_len = (size_t) cmd_ctx->lsm.u.trigger.length; ret = lttng_dynamic_buffer_set_size( &trigger_payload.buffer, trigger_len); if (ret) {