#include <bin/lttng-consumerd/health-consumerd.h>
#include <common/common.h>
+#include <common/compat/endian.h>
#include <common/kernel-ctl/kernel-ctl.h>
#include <common/kernel-consumer/kernel-consumer.h>
#include <common/consumer-stream.h>
#include "consumer-timer.h"
+#include "consumer-testpoint.h"
#include "ust-consumer/ust-consumer.h"
static struct timer_signal_data timer_signal = {
}
ret = kernctl_snapshot(stream->wait_fd);
if (ret < 0) {
- if (errno != EAGAIN) {
- ERR("Taking kernel snapshot");
+ if (errno != EAGAIN && errno != ENODATA) {
+ PERROR("live timer kernel snapshot");
ret = -1;
goto error_unlock;
}
health_register(health_consumerd, HEALTH_CONSUMERD_TYPE_METADATA_TIMER);
+ if (testpoint(consumerd_thread_metadata_timer)) {
+ goto error_testpoint;
+ }
+
health_code_update();
/* Only self thread will receive signal mask. */
}
}
- /* Currently never reached */
+error_testpoint:
+ /* Only reached in testpoint error */
+ health_error();
health_unregister(health_consumerd);
/* Never return */