+ health_unregister(health_sessiond);
+ return NULL;
+}
+
+static
+bool shutdown_notification_thread(void *thread_data)
+{
+ struct notification_thread_handle *handle = thread_data;
+
+ notification_thread_command_quit(handle);
+ return true;
+}
+
+struct lttng_thread *launch_notification_thread(
+ struct notification_thread_handle *handle)
+{
+ struct lttng_thread *thread;
+
+ thread = lttng_thread_create("Notification",
+ thread_notification,
+ shutdown_notification_thread,
+ NULL,
+ handle);
+ if (!thread) {
+ goto error;
+ }
+
+ /*
+ * Wait for the thread to be marked as "ready" before returning
+ * as other subsystems depend on the notification subsystem
+ * (e.g. rotation thread).
+ */
+ wait_until_thread_is_ready(handle);
+ return thread;
+error: