Launch the client management thread using lttng_thread
[lttng-tools.git] / src / bin / lttng-sessiond / load-session-thread.c
index 845948e7cd559363395efd82e05c283145b7e21c..a93a799f6072f023519596d2e8e7e550da6ea855 100644 (file)
@@ -15,9 +15,9 @@
  * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  */
 
-#define _GNU_SOURCE
+#define _LGPL_SOURCE
 #include <common/error.h>
-#include <common/config/config.h>
+#include <common/config/session-config.h>
 
 #include "load-session-thread.h"
 #include "lttng-sessiond.h"
@@ -30,15 +30,6 @@ void load_session_destroy_data(struct load_session_thread_data *data)
        if (!data) {
                return;
        }
-
-       if (data->sem_initialized) {
-               int ret;
-
-               ret = sem_destroy(&data->message_thread_ready);
-               if (ret) {
-                       PERROR("sem_destroy message_thread_ready");
-               }
-       }
 }
 
 /*
@@ -50,8 +41,7 @@ void load_session_destroy_data(struct load_session_thread_data *data)
  */
 int load_session_init_data(struct load_session_thread_data **data)
 {
-       int ret;
-       struct load_session_thread_data *_data;
+       struct load_session_thread_data *_data = NULL;
 
        assert(data);
 
@@ -64,17 +54,12 @@ int load_session_init_data(struct load_session_thread_data **data)
                PERROR("zmalloc load session info");
                goto error;
        }
-       ret = sem_init(&_data->message_thread_ready, 0, 0);
-       if (ret) {
-               PERROR("sem_init message_thread_ready");
-               goto error;
-       }
-       _data->sem_initialized = 1;
 
        *data = _data;
        return 0;
 
 error:
+       free(_data);
        return -1;
 }
 
@@ -89,18 +74,12 @@ void *thread_load_session(void *data)
 
        DBG("[load-session-thread] Load session");
 
-       ret = sem_wait(&info->message_thread_ready);
-       if (ret) {
-               PERROR("sem_wait message_thread_ready");
-               goto end;
-       }
-
-       ret = config_load_session(info->path, NULL, 0);
+       /* Override existing session and autoload also. */
+       ret = config_load_session(info->path, NULL, 1, 1, NULL);
        if (ret) {
                ERR("Session load failed: %s", error_get_str(ret));
        }
 
-end:
-       sessiond_notify_ready();
+       sessiond_signal_parents();
        return NULL;
 }
This page took 0.024364 seconds and 4 git commands to generate.