Custom upgrade: allow N lttng-ust instances per process
authorJonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Fri, 3 Jun 2022 15:32:44 +0000 (11:32 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Fri, 30 Sep 2022 19:12:36 +0000 (15:12 -0400)
commit0b6b8118623769187e5c8363672460ce39397316
tree9e327b0b6a6eb5880fd0131f49b3360b60ab649d
parent8ce733e56bbab1ca5507b868e8093f4cb5cc87b7
Custom upgrade: allow N lttng-ust instances per process

The objective of this path is to allow multiple versions of lttng-ust for
a given process to register themselves.

To achieve this, we relax the constraint of the ust_app_ht key and allow
duplicate for a given pid.

This hash table is mostly used by the tracker subsystem and only need to
provide a way to check for the existence of an ust_app for a given pid.

Most of the code relies on the `by socket` hash table to lookup ust_app or
it simply iterate over the hash table.

The registration code path also need some modification since it relies
on the pid to match the incoming notify socket to a ust_app pending
registration. For now, we can use the version from the registration data
to find the proper ust_app. This is valid since that, for now, only
lttng-ust instances of different version are allowed to co-exist in a
given process. This will not hold if we ever change this in the future.

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Change-Id: I5d8c0211593fed599b121e57d29b62f1e70a4a2f
src/bin/lttng-sessiond/dispatch.c
src/bin/lttng-sessiond/ust-app.c
This page took 0.027473 seconds and 5 git commands to generate.