Add support for cpu and uptime components on FreeBSD

This commit is contained in:
Michael Buch
2019-02-05 02:44:37 +00:00
committed by Aaron Marcher
parent ec306623df
commit 120d150594
2 changed files with 62 additions and 2 deletions
components

@ -5,14 +5,24 @@
#include "../util.h"
#if defined(CLOCK_BOOTTIME)
#define UPTIME_FLAG CLOCK_BOOTTIME
#elif defined(CLOCK_UPTIME)
#define UPTIME_FLAG CLOCK_UPTIME
#else
#define UPTIME_FLAG CLOCK_MONOTONIC
#endif
const char *
uptime(void)
{
char warn_buf[256];
uintmax_t h, m;
struct timespec uptime;
if (clock_gettime(CLOCK_BOOTTIME, &uptime) < 0) {
warn("clock_gettime 'CLOCK_BOOTTIME'");
if (clock_gettime(UPTIME_FLAG, &uptime) < 0) {
snprintf(warn_buf, 256, "clock_gettime %d", UPTIME_FLAG);
warn(warn_buf);
return NULL;
}