ret = ustctl_create_event(app->sock, &ua_event->attr, ua_chan->obj,
&ua_event->obj);
if (ret < 0) {
- if (ret == -EEXIST) {
+ if (ret == -EEXIST || ret == -EPERM) {
ret = 0;
goto error;
}
if (ret < 0) {
ERR("Creating session for app pid %d", app->pid);
/* This means that the tracer is gone... */
+ delete_ust_app_session(-1, ua_sess);
ua_sess = (void*) -1UL;
- goto error;
+ goto end;
}
ua_sess->handle = ret;
end:
return ua_sess;
-
-error:
- delete_ust_app_session(-1, ua_sess);
- return NULL;
}
/*
}
ua_sess = create_ust_app_session(usess, app);
- if (ua_sess == NULL) {
+ if (ua_sess == NULL || ua_sess == (void *) -1UL) {
goto error;
}