* 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"
if (!data) {
return;
}
-
- if (data->sem_initialized) {
- int ret;
-
- ret = sem_destroy(&data->message_thread_ready);
- if (ret) {
- PERROR("sem_destroy message_thread_ready");
- }
- }
}
/*
*/
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);
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;
}
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;
}