Fix: register rotation thread as RCU thread
[lttng-tools.git] / src / bin / lttng-sessiond / rotation-thread.c
index 5b0267952676ccc549a95c7a3b21bab3a70d413b..c0d1cf146d3b69bbe5fcef59c8cf6d076df8752d 100644 (file)
@@ -42,7 +42,7 @@
 #include "rotate.h"
 #include "cmd.h"
 #include "session.h"
-#include "sessiond-timer.h"
+#include "timer.h"
 #include "notification-thread-commands.h"
 
 #include <urcu.h>
@@ -394,7 +394,7 @@ int check_session_rotation_pending_local_on_consumer(
 static
 int check_session_rotation_pending_local(struct ltt_session *session)
 {
-       int ret;
+       int ret = 0;
        struct consumer_socket *socket;
        struct cds_lfht_iter iter;
        bool rotation_completed = true;
@@ -876,6 +876,9 @@ void *thread_rotation(void *data)
                goto end;
        }
 
+       rcu_register_thread();
+       rcu_thread_online();
+
        health_register(health_sessiond, HEALTH_SESSIOND_TYPE_ROTATION);
        health_code_update();
 
@@ -945,6 +948,8 @@ error:
        DBG("[rotation-thread] Exit");
        fini_thread_state(&thread);
        health_unregister(health_sessiond);
+       rcu_thread_offline();
+       rcu_unregister_thread();
 end:
        return NULL;
 }
This page took 0.032045 seconds and 5 git commands to generate.