Skip to content

Commit 6965951

Browse files
committed
FreeBSD: add Linux-compatible clock aliases
They were added in https://reviews.freebsd.org/D30988 which landed for 13, but as they're just aliases, they will work on any version.
1 parent cb1eabe commit 6965951

File tree

3 files changed

+14
-0
lines changed

3 files changed

+14
-0
lines changed

libc-test/build.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2082,6 +2082,14 @@ fn test_freebsd(target: &str) {
20822082
true
20832083
}
20842084

2085+
// These aliases were introduced in FreeBSD 13:
2086+
// (note however that the constants themselves work on any version)
2087+
"CLOCK_BOOTTIME" | "CLOCK_REALTIME_COARSE" | "CLOCK_MONOTONIC_COARSE"
2088+
if Some(13) > freebsd_ver =>
2089+
{
2090+
true
2091+
}
2092+
20852093
// FIXME: These are deprecated - remove in a couple of releases.
20862094
// These constants were removed in FreeBSD 11 (svn r273250) but will
20872095
// still be accepted and ignored at runtime.

libc-test/semver/freebsd.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,10 +149,13 @@ CLD_EXITED
149149
CLD_KILLED
150150
CLD_STOPPED
151151
CLD_TRAPPED
152+
CLOCK_BOOTTIME
153+
CLOCK_MONOTONIC_COARSE
152154
CLOCK_MONOTONIC_FAST
153155
CLOCK_MONOTONIC_PRECISE
154156
CLOCK_PROCESS_CPUTIME_ID
155157
CLOCK_PROF
158+
CLOCK_REALTIME_COARSE
156159
CLOCK_REALTIME_FAST
157160
CLOCK_REALTIME_PRECISE
158161
CLOCK_SECOND

src/unix/bsd/freebsdlike/mod.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -824,12 +824,15 @@ pub const CLOCK_VIRTUAL: ::clockid_t = 1;
824824
pub const CLOCK_PROF: ::clockid_t = 2;
825825
pub const CLOCK_MONOTONIC: ::clockid_t = 4;
826826
pub const CLOCK_UPTIME: ::clockid_t = 5;
827+
pub const CLOCK_BOOTTIME: ::clockid_t = CLOCK_UPTIME;
827828
pub const CLOCK_UPTIME_PRECISE: ::clockid_t = 7;
828829
pub const CLOCK_UPTIME_FAST: ::clockid_t = 8;
829830
pub const CLOCK_REALTIME_PRECISE: ::clockid_t = 9;
830831
pub const CLOCK_REALTIME_FAST: ::clockid_t = 10;
832+
pub const CLOCK_REALTIME_COARSE: ::clockid_t = CLOCK_REALTIME_FAST;
831833
pub const CLOCK_MONOTONIC_PRECISE: ::clockid_t = 11;
832834
pub const CLOCK_MONOTONIC_FAST: ::clockid_t = 12;
835+
pub const CLOCK_MONOTONIC_COARSE: ::clockid_t = CLOCK_MONOTONIC_FAST;
833836
pub const CLOCK_SECOND: ::clockid_t = 13;
834837
pub const CLOCK_THREAD_CPUTIME_ID: ::clockid_t = 14;
835838
pub const CLOCK_PROCESS_CPUTIME_ID: ::clockid_t = 15;

0 commit comments

Comments
 (0)