Add missing rcu register thread calls
[lttng-tools.git] / lttng-sessiond / ust-app.c
index d34134e94dbce9ab089c065b570cb01689e772e3..9c500481e0b52531962733a604b2cfdc51039e35 100644 (file)
@@ -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);
@@ -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);
This page took 0.023997 seconds and 4 git commands to generate.