X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fbin%2Flttng%2Fcommands%2Ftrack-untrack.c;h=e9a6677b000579f8a3ce14aa3c9096d2d148ad52;hp=639e18481cf9571a21fce26b8bf00319ae77296c;hb=ebbf5ab7ebfa3774d5ca1a26d63013384f7e1407;hpb=8de4f9412d9681725c48f984c9e160773fdcf8c9 diff --git a/src/bin/lttng/commands/track-untrack.c b/src/bin/lttng/commands/track-untrack.c index 639e18481..e9a6677b0 100644 --- a/src/bin/lttng/commands/track-untrack.c +++ b/src/bin/lttng/commands/track-untrack.c @@ -202,7 +202,7 @@ int track_untrack_pid(enum cmd_type cmd_type, const char *cmd_str, const char *session_name, const char *pid_string, int all, struct mi_writer *writer) { - int ret, retval = CMD_SUCCESS, i; + int ret, retval = CMD_SUCCESS, success = 1 , i; int *pid_list = NULL; int nr_pids; struct lttng_domain dom; @@ -248,26 +248,49 @@ int track_untrack_pid(enum cmd_type cmd_type, const char *cmd_str, } if (writer) { - /* Open pids element */ - ret = mi_lttng_writer_open_element(writer, config_element_pids); + /* Open process element */ + ret = mi_lttng_targets_open(writer); if (ret) { retval = CMD_ERROR; goto end; } } - /* TODO: MI */ for (i = 0; i < nr_pids; i++) { DBG("%s PID %d", cmd_str, pid_list[i]); ret = lib_func(handle, pid_list[i]); if (ret) { + success = 0; retval = CMD_ERROR; - goto end; + } else { + success = 1; + } + + /* Mi */ + if (writer) { + ret = mi_lttng_pid_target(writer, pid_list[i], 1); + if (ret) { + retval = CMD_ERROR; + goto end; + } + + ret = mi_lttng_writer_write_element_bool(writer, + mi_lttng_element_success, success); + if (ret) { + retval = CMD_ERROR; + goto end; + } + + ret = mi_lttng_writer_close_element(writer); + if (ret) { + retval = CMD_ERROR; + goto end; + } } } if (writer) { - /* Close pids element */ + /* Close targets element */ ret = mi_lttng_writer_close_element(writer); if (ret) { retval = CMD_ERROR; @@ -275,7 +298,6 @@ int track_untrack_pid(enum cmd_type cmd_type, const char *cmd_str, } } - /* SUCCESS */ end: if (handle) { lttng_destroy_handle(handle);