Signed-off-by: David Goulet <dgoulet@efficios.com>
int ust_app_create_channel_glb(struct ltt_ust_session *usess,
struct ltt_ust_channel *uchan)
{
int ust_app_create_channel_glb(struct ltt_ust_session *usess,
struct ltt_ust_channel *uchan)
{
struct lttng_ht_iter iter;
struct ust_app *app;
struct ust_app_session *ua_sess;
struct lttng_ht_iter iter;
struct ust_app *app;
struct ust_app_session *ua_sess;
ua_sess = create_ust_app_session(usess, app);
if (ua_sess == NULL) {
/* The malloc() failed. */
ua_sess = create_ust_app_session(usess, app);
if (ua_sess == NULL) {
/* The malloc() failed. */
goto error;
} else if (ua_sess == (void *) -1UL) {
/* The application's socket is not valid. Contiuing */
goto error;
} else if (ua_sess == (void *) -1UL) {
/* The application's socket is not valid. Contiuing */
ua_chan = create_ust_app_channel(ua_sess, uchan, app);
if (ua_chan == NULL) {
/* Major problem here and it's maybe the tracer or malloc() */
ua_chan = create_ust_app_channel(ua_sess, uchan, app);
if (ua_chan == NULL) {
/* Major problem here and it's maybe the tracer or malloc() */
goto error;
}
}
rcu_read_unlock();
goto error;
}
}
rcu_read_unlock();