+ bool should_update_apps = false;
+ struct ust_id_tracker *id_tracker;
+ struct lttng_tracker_list *tracker_list;
+ int value;
+ struct lttng_tracker_ids *saved_ids;
+
+ if (tracker_type == LTTNG_TRACKER_PID) {
+ DBG("Backward compatible behavior: translate PID tracker to VPID tracker for UST domain.");
+ tracker_type = LTTNG_TRACKER_VPID;
+ }
+
+ retval = lttng_tracker_id_lookup_string(tracker_type, id, &value);
+ if (retval != LTTNG_OK) {
+ return retval;
+ }
+
+ tracker_list = get_id_tracker_list(session, tracker_type);
+ if (!tracker_list) {
+ return LTTNG_ERR_INVALID;
+ }
+ /* Save list for restore on error. */
+ retval = lttng_tracker_id_get_list(tracker_list, &saved_ids);
+ if (retval != LTTNG_OK) {
+ return LTTNG_ERR_INVALID;
+ }
+ /* Remove from list. */
+ retval = lttng_tracker_list_remove(tracker_list, id);
+ if (retval != LTTNG_OK) {
+ goto end;
+ }
+
+ id_tracker = get_id_tracker(session, tracker_type);
+ if (!id_tracker) {
+ abort();
+ }