case LTTNG_EVENT_CONTEXT_UTS_NS:
utype = LTTNG_UST_CONTEXT_UTS_NS;
break;
+ case LTTNG_EVENT_CONTEXT_VUID:
+ utype = LTTNG_UST_CONTEXT_VUID;
+ break;
+ case LTTNG_EVENT_CONTEXT_VEUID:
+ utype = LTTNG_UST_CONTEXT_VEUID;
+ break;
+ case LTTNG_EVENT_CONTEXT_VSUID:
+ utype = LTTNG_UST_CONTEXT_VSUID;
+ break;
+ case LTTNG_EVENT_CONTEXT_VGID:
+ utype = LTTNG_UST_CONTEXT_VGID;
+ break;
+ case LTTNG_EVENT_CONTEXT_VEGID:
+ utype = LTTNG_UST_CONTEXT_VEGID;
+ break;
+ case LTTNG_EVENT_CONTEXT_VSGID:
+ utype = LTTNG_UST_CONTEXT_VSGID;
+ break;
default:
utype = -1;
break;
int trace_ust_untrack_pid(struct ltt_ust_session *session, int pid)
{
int retval = LTTNG_OK;
+ bool should_update_apps = false;
if (pid == -1) {
/* Create empty tracker, replace old tracker. */
fini_pid_tracker(&tmp_tracker);
/* Remove session from all applications */
- ust_app_global_update_all(session);
+ should_update_apps = true;
} else {
int ret;
struct ust_app *app;
/* Remove session from application. */
app = ust_app_find_by_pid(pid);
if (app) {
- ust_app_global_update(session, app);
+ should_update_apps = true;
}
}
+ if (should_update_apps && session->active) {
+ ust_app_global_update_all(session);
+ }
end:
return retval;
}