Signed-off-by: Francis Deslauriers <francis.deslauriers@efficios.com>
Change-Id: Id7a2924ea9f5ac91bf9848995029e3c6edb9a4d3
Reviewed-on: https://review.lttng.org/c/babeltrace/+/2306
Reviewed-by: Simon Marchi <simon.marchi@efficios.com>
{
enum lttng_live_iterator_status status;
uint64_t trace_idx;
{
enum lttng_live_iterator_status status;
uint64_t trace_idx;
if (!session->attached) {
if (!session->attached) {
- ret = lttng_live_attach_session(session);
- if (ret) {
+ enum lttng_live_attach_session_status attach_status =
+ lttng_live_attach_session(session);
+ if (attach_status != LTTNG_LIVE_ATTACH_SESSION_STATUS_OK) {
if (lttng_live_graph_is_canceled(lttng_live_msg_iter)) {
status = LTTNG_LIVE_ITERATOR_STATUS_AGAIN;
} else {
if (lttng_live_graph_is_canceled(lttng_live_msg_iter)) {
status = LTTNG_LIVE_ITERATOR_STATUS_AGAIN;
} else {
void lttng_live_msg_iter_finalize(bt_self_message_iterator *it);
int lttng_live_create_viewer_session(struct lttng_live_msg_iter *lttng_live_msg_iter);
void lttng_live_msg_iter_finalize(bt_self_message_iterator *it);
int lttng_live_create_viewer_session(struct lttng_live_msg_iter *lttng_live_msg_iter);
-int lttng_live_attach_session(struct lttng_live_session *session);
+
+enum lttng_live_attach_session_status {
+ LTTNG_LIVE_ATTACH_SESSION_STATUS_OK = 0,
+ LTTNG_LIVE_ATTACH_SESSION_STATUS_ERROR = -2,
+};
+
+enum lttng_live_attach_session_status lttng_live_attach_session(
+ struct lttng_live_session *session);
+
int lttng_live_detach_session(struct lttng_live_session *session);
enum lttng_live_iterator_status lttng_live_get_new_streams(
struct lttng_live_session *session);
int lttng_live_detach_session(struct lttng_live_session *session);
enum lttng_live_iterator_status lttng_live_get_new_streams(
struct lttng_live_session *session);
-int lttng_live_attach_session(struct lttng_live_session *session)
+enum lttng_live_attach_session_status lttng_live_attach_session(
+ struct lttng_live_session *session)
{
struct lttng_viewer_cmd cmd;
{
struct lttng_viewer_cmd cmd;
+ enum lttng_live_attach_session_status attach_status;
struct lttng_viewer_attach_session_request rq;
struct lttng_viewer_attach_session_response rp;
struct lttng_live_msg_iter *lttng_live_msg_iter =
struct lttng_viewer_attach_session_request rq;
struct lttng_viewer_attach_session_response rp;
struct lttng_live_msg_iter *lttng_live_msg_iter =
session->attached = true;
session->new_streams_needed = false;
session->attached = true;
session->new_streams_needed = false;
+ attach_status = LTTNG_LIVE_ATTACH_SESSION_STATUS_OK;
+ goto end;
+ attach_status = LTTNG_LIVE_ATTACH_SESSION_STATUS_ERROR;
+
+end:
+ return attach_status;