goto error;
}
} else {
- char *home_path = utils_get_home_dir();
+ const char *home_path = utils_get_home_dir();
if (!home_path) {
ERR("Can't get HOME directory for socket creation");
}
if (getuid() == 0) {
- ret = chown(sock_path, 0,
- utils_get_group_id(config.tracing_group_name.value));
+ gid_t gid;
+
+ ret = utils_get_group_id(config.tracing_group_name.value, true,
+ &gid);
+ if (ret) {
+ /* Default to root group. */
+ gid = 0;
+ }
+
+ ret = chown(sock_path, 0, gid);
if (ret) {
ERR("Failed to set the notification channel socket's group");
ret = -1;
int fd = LTTNG_POLL_GETFD(&state.events, i);
uint32_t revents = LTTNG_POLL_GETEV(&state.events, i);
- if (!revents) {
- continue;
- }
DBG("[notification-thread] Handling fd (%i) activity (%u)", fd, revents);
if (fd == state.notification_channel_socket) {
return true;
}
-bool launch_notification_thread(struct notification_thread_handle *handle)
+struct lttng_thread *launch_notification_thread(
+ struct notification_thread_handle *handle)
{
struct lttng_thread *thread;
* (e.g. rotation thread).
*/
wait_until_thread_is_ready(handle);
- lttng_thread_put(thread);
- return true;
+ return thread;
error:
- return false;
+ return NULL;
}