X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=lttng-sessiond%2Fust-app.c;h=4f68a87eecd86270cc0011cd528d38c79ec3fc96;hp=d34134e94dbce9ab089c065b570cb01689e772e3;hb=58f3ca76ddd0d871fc1b71d816bdbabe1d7adeb1;hpb=bec399405a4667411ae06bbbcbed678e42e93a30 diff --git a/lttng-sessiond/ust-app.c b/lttng-sessiond/ust-app.c index d34134e94..4f68a87ee 100644 --- a/lttng-sessiond/ust-app.c +++ b/lttng-sessiond/ust-app.c @@ -584,7 +584,7 @@ static int create_ust_channel(struct ust_app *app, ret = ustctl_create_channel(app->key.sock, ua_sess->handle, (struct lttng_ust_channel_attr *)&ua_chan->attr, &ua_chan->obj); if (ret < 0) { - DBG("Error creating channel %s for app (pid: %d, sock: %d) " + ERR("Creating channel %s for app (pid: %d, sock: %d) " "and session handle %d with ret %d", ua_chan->name, app->key.pid, app->key.sock, ua_sess->handle, ret); @@ -794,7 +794,7 @@ void __lookup_session_by_app(struct ltt_ust_session *usess, struct ust_app *app, struct lttng_ht_iter *iter) { /* Get right UST app session from app */ - lttng_ht_lookup(app->sessions, (void *)((unsigned long) usess->uid), iter); + lttng_ht_lookup(app->sessions, (void *)((unsigned long) usess->id), iter); } /* @@ -856,7 +856,7 @@ static struct ust_app_session *create_ust_app_session( ua_sess->handle = ret; /* Add ust app session to app's HT */ - lttng_ht_node_init_ulong(&ua_sess->node, (unsigned long) ua_sess->uid); + lttng_ht_node_init_ulong(&ua_sess->node, (unsigned long) ua_sess->id); lttng_ht_add_unique_ulong(app->sessions, &ua_sess->node); DBG2("UST app session created successfully with handle %d", ret); @@ -1062,8 +1062,6 @@ static struct ust_app_channel *create_ust_app_channel( goto error; } shadow_copy_channel(ua_chan, uchan); - - lttng_ht_add_unique_str(ua_sess->channels, &ua_chan->node); } else { ua_chan = caa_container_of(ua_chan_node, struct ust_app_channel, node); } @@ -1073,6 +1071,8 @@ static struct ust_app_channel *create_ust_app_channel( goto error; } + lttng_ht_add_unique_str(ua_sess->channels, &ua_chan->node); + return ua_chan; error: @@ -1299,6 +1299,11 @@ void ust_app_unregister(int sock) DBG("PID %d unregistering with sock %d", lta->key.pid, sock); + /* Remove application from socket hash table */ + lttng_ht_lookup(ust_app_sock_key_map, (void *)((unsigned long) sock), &iter); + ret = lttng_ht_del(ust_app_sock_key_map, &iter); + assert(!ret); + /* Get the node reference for a call_rcu */ lttng_ht_lookup(ust_app_ht, (void *)((unsigned long) lta->key.pid), &iter); node = lttng_ht_iter_get_node_ulong(&iter); @@ -1307,6 +1312,7 @@ void ust_app_unregister(int sock) goto error; } + /* Remove application from PID hash table */ ret = lttng_ht_del(ust_app_ht, &iter); assert(!ret); call_rcu(&node->head, delete_ust_app_rcu);