+ writer = mi_lttng_writer_create(fileno(stdout), lttng_opt_mi);
+ if (!writer) {
+ ret = -LTTNG_ERR_NOMEM;
+ goto end;
+ }
+
+ /* Open command element */
+ ret = mi_lttng_writer_command_open(writer,
+ mi_lttng_element_command_destroy);
+ if (ret) {
+ ret = CMD_ERROR;
+ goto end;
+ }
+
+ /* Open output element */
+ ret = mi_lttng_writer_open_element(writer,
+ mi_lttng_element_command_output);
+ if (ret) {
+ ret = CMD_ERROR;
+ goto end;
+ }
+
+ /* For validation and semantic purpose we open a sessions element */
+ ret = mi_lttng_sessions_open(writer);
+ if (ret) {
+ ret = CMD_ERROR;
+ goto end;
+ }
+ }
+
+ /* Recuperate all sessions for further operation */
+ count = lttng_list_sessions(&sessions);
+ if (count < 0) {
+ ERR("%s", lttng_strerror(count));
+ command_ret = CMD_ERROR;
+ success = 0;
+ goto mi_closing;