summaryrefslogtreecommitdiff
path: root/components/uptime.c
diff options
context:
space:
mode:
authorMichael Buch <michaelbuch12@gmail.com>2019-02-05 02:44:37 +0000
committerAaron Marcher <me@drkhsh.at>2019-02-05 09:31:06 +0100
commit120d15059425b522db464e6f3f857bee4a781cce (patch)
tree605620cba3743ba3ee929dce82ab1ab56cddea5f /components/uptime.c
parentec306623df7321a4e6ec11f70b6152a2e614d1ed (diff)
Add support for cpu and uptime components on FreeBSD
Diffstat (limited to 'components/uptime.c')
-rw-r--r--components/uptime.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/components/uptime.c b/components/uptime.c
index 978f88f..7c23c98 100644
--- a/components/uptime.c
+++ b/components/uptime.c
@@ -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;
}