[weston,7/8] Add ifdefs for platform-specific clocks

Submitted by Greg V on Dec. 17, 2017, 7:04 p.m.

Details

Message ID 20171217190442.29265-8-greg@unrelenting.technology
State New
Headers show
Series "Portability patches" ( rev: 1 ) in Wayland

Not browsing as part of any series.

Commit Message

Greg V Dec. 17, 2017, 7:04 p.m.
+ add FreeBSD/DragonFlyBSD _FAST clocks, similar to Linux _COARSE
---
 clients/weston-info.c  | 6 ++++++
 compositor/main.c      | 5 +++++
 libweston/compositor.c | 8 ++++++++
 3 files changed, 19 insertions(+)

Patch hide | download patch | download mbox

diff --git a/clients/weston-info.c b/clients/weston-info.c
index 386bd412..e4fa9555 100644
--- a/clients/weston-info.c
+++ b/clients/weston-info.c
@@ -695,9 +695,15 @@  clock_name(clockid_t clk_id)
 	static const char *names[] = {
 		[CLOCK_REALTIME] =		"CLOCK_REALTIME",
 		[CLOCK_MONOTONIC] =		"CLOCK_MONOTONIC",
+#ifdef __linux__
 		[CLOCK_MONOTONIC_RAW] =		"CLOCK_MONOTONIC_RAW",
 		[CLOCK_REALTIME_COARSE] =	"CLOCK_REALTIME_COARSE",
 		[CLOCK_MONOTONIC_COARSE] =	"CLOCK_MONOTONIC_COARSE",
+#elif defined(__FreeBSD__) || defined(__DragonFly__)
+		[CLOCK_REALTIME_FAST] =		"CLOCK_REALTIME_FAST",
+		[CLOCK_MONOTONIC_FAST] =	"CLOCK_MONOTONIC_FAST",
+#endif
+
 #ifdef CLOCK_BOOTTIME
 		[CLOCK_BOOTTIME] =		"CLOCK_BOOTTIME",
 #endif
diff --git a/compositor/main.c b/compositor/main.c
index dedb5e64..dfe4dca4 100644
--- a/compositor/main.c
+++ b/compositor/main.c
@@ -685,9 +685,14 @@  clock_name(clockid_t clk_id)
 	static const char *names[] = {
 		[CLOCK_REALTIME] =		"CLOCK_REALTIME",
 		[CLOCK_MONOTONIC] =		"CLOCK_MONOTONIC",
+#ifdef __linux__
 		[CLOCK_MONOTONIC_RAW] =		"CLOCK_MONOTONIC_RAW",
 		[CLOCK_REALTIME_COARSE] =	"CLOCK_REALTIME_COARSE",
 		[CLOCK_MONOTONIC_COARSE] =	"CLOCK_MONOTONIC_COARSE",
+#elif defined(__FreeBSD__) || defined(__DragonFly__)
+		[CLOCK_REALTIME_FAST] =		"CLOCK_REALTIME_FAST",
+		[CLOCK_MONOTONIC_FAST] =	"CLOCK_MONOTONIC_FAST",
+#endif
 #ifdef CLOCK_BOOTTIME
 		[CLOCK_BOOTTIME] =		"CLOCK_BOOTTIME",
 #endif
diff --git a/libweston/compositor.c b/libweston/compositor.c
index 7d7a17ed..a6c77e6b 100644
--- a/libweston/compositor.c
+++ b/libweston/compositor.c
@@ -5435,10 +5435,18 @@  weston_compositor_set_presentation_clock_software(
 {
 	/* In order of preference */
 	static const clockid_t clocks[] = {
+#ifdef __linux__
 		CLOCK_MONOTONIC_RAW,	/* no jumps, no crawling */
 		CLOCK_MONOTONIC_COARSE,	/* no jumps, may crawl, fast & coarse */
+#elif defined(__FreeBSD__) || defined(__DragonFly__)
+		CLOCK_MONOTONIC_FAST,	/* no jumps, may crawl, fast & coarse */
+#endif
 		CLOCK_MONOTONIC,	/* no jumps, may crawl */
+#ifdef __linux__
 		CLOCK_REALTIME_COARSE,	/* may jump and crawl, fast & coarse */
+#elif defined(__FreeBSD__) || defined(__DragonFly__)
+		CLOCK_REALTIME_FAST,	/* may jump and crawl, fast & coarse */
+#endif
 		CLOCK_REALTIME		/* may jump and crawl */
 	};
 	unsigned i;