#include <urcu/compiler.h>
#include <inttypes.h>
-#include <common/defaults.h>
-#include <common/common.h>
-#include <common/consumer/consumer.h>
-#include <common/consumer/consumer-timer.h>
-#include <common/compat/poll.h>
-#include <common/sessiond-comm/sessiond-comm.h>
-#include <common/utils.h>
-#include <common/compat/getenv.h>
-#include <common/fd-tracker/utils.h>
-
-#include "lttng-relayd.h"
-#include "health-relayd.h"
+#include <common/defaults.hpp>
+#include <common/common.hpp>
+#include <common/consumer/consumer.hpp>
+#include <common/consumer/consumer-timer.hpp>
+#include <common/compat/poll.hpp>
+#include <common/sessiond-comm/sessiond-comm.hpp>
+#include <common/utils.hpp>
+#include <common/compat/getenv.hpp>
+#include <common/fd-tracker/utils.hpp>
+
+#include "lttng-relayd.hpp"
+#include "health-relayd.hpp"
/* Global health check unix path */
static
int health_quit_pipe[2] = { -1, -1 };
-/*
- * Check if the thread quit pipe was triggered.
- *
- * Return 1 if it was triggered else 0;
- */
-static
-int check_health_quit_pipe(int fd, uint32_t events)
-{
- if (fd == health_quit_pipe[0] && (events & LPOLLIN)) {
- return 1;
- }
-
- return 0;
-}
-
/*
* Send data on a unix socket using the liblttsessiondcomm API.
*
ret = chmod(rundir,
S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH);
if (ret < 0) {
- ERR("Unable to set permissions on %s", health_unix_sock_path);
+ ERR("Unable to set permissions on %s", rundir);
PERROR("chmod");
ret = -1;
goto error;
/*
* Thread managing health check socket.
*/
-void *thread_manage_health(void *data)
+void *thread_manage_health_relayd(void *data __attribute__((unused)))
{
- int sock = -1, new_sock = -1, ret, i, pollfd, err = -1;
- uint32_t revents, nb_fd;
+ int sock = -1, new_sock = -1, ret, i, err = -1;
+ uint32_t nb_fd;
struct lttng_poll_event events;
struct health_comm_msg msg;
struct health_comm_reply reply;
for (i = 0; i < nb_fd; i++) {
/* Fetch once the poll data */
- revents = LTTNG_POLL_GETEV(&events, i);
- pollfd = LTTNG_POLL_GETFD(&events, i);
+ const auto revents = LTTNG_POLL_GETEV(&events, i);
+ const auto pollfd = LTTNG_POLL_GETFD(&events, i);
- /* Thread quit pipe has been closed. Killing thread. */
- ret = check_health_quit_pipe(pollfd, revents);
- if (ret) {
+ /* Activity on thread quit pipe, exiting. */
+ if (pollfd == health_quit_pipe[0]) {
+ DBG("Activity on thread quit pipe");
err = 0;
goto exit;
}