From 79b62508f981a6e4dab2a83e73a266bb510628eb Mon Sep 17 00:00:00 2001 From: naruse Date: Wed, 21 Sep 2016 08:46:06 +0000 Subject: * process.c (InitVM_process): Support CLOCK_MONOTONIC_RAW_APPROX, CLOCK_UPTIME_RAW, and CLOCK_UPTIME_RAW_APPROX which are introduced by macOS 10.12. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56200 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ process.c | 22 +++++++++++++++++----- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 37ab6c580c..448ad2321a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Wed Sep 21 17:43:53 2016 NARUSE, Yui + + * process.c (InitVM_process): Support CLOCK_MONOTONIC_RAW_APPROX, + CLOCK_UPTIME_RAW, and CLOCK_UPTIME_RAW_APPROX which are introduced + by macOS 10.12. + Wed Sep 21 13:47:33 2016 Nobuyoshi Nakada * parse.y (brace_body, do_body): preserve cmdarg_stack so that diff --git a/process.c b/process.c index 7827f03dc2..eb84d8a675 100644 --- a/process.c +++ b/process.c @@ -7107,10 +7107,10 @@ get_mach_timebase_info(void) * The supported constants depends on OS and version. * Ruby provides following types of +clock_id+ if available. * - * [CLOCK_REALTIME] SUSv2 to 4, Linux 2.5.63, FreeBSD 3.0, NetBSD 2.0, OpenBSD 2.1 - * [CLOCK_MONOTONIC] SUSv3 to 4, Linux 2.5.63, FreeBSD 3.0, NetBSD 2.0, OpenBSD 3.4 - * [CLOCK_PROCESS_CPUTIME_ID] SUSv3 to 4, Linux 2.5.63, OpenBSD 5.4 - * [CLOCK_THREAD_CPUTIME_ID] SUSv3 to 4, Linux 2.5.63, FreeBSD 7.1, OpenBSD 5.4 + * [CLOCK_REALTIME] SUSv2 to 4, Linux 2.5.63, FreeBSD 3.0, NetBSD 2.0, OpenBSD 2.1, macOS 10.12 + * [CLOCK_MONOTONIC] SUSv3 to 4, Linux 2.5.63, FreeBSD 3.0, NetBSD 2.0, OpenBSD 3.4, macOS 10.12 + * [CLOCK_PROCESS_CPUTIME_ID] SUSv3 to 4, Linux 2.5.63, OpenBSD 5.4, macOS 10.12 + * [CLOCK_THREAD_CPUTIME_ID] SUSv3 to 4, Linux 2.5.63, FreeBSD 7.1, OpenBSD 5.4, macOS 10.12 * [CLOCK_VIRTUAL] FreeBSD 3.0, OpenBSD 2.1 * [CLOCK_PROF] FreeBSD 3.0, OpenBSD 2.1 * [CLOCK_REALTIME_FAST] FreeBSD 8.1 @@ -7120,11 +7120,14 @@ get_mach_timebase_info(void) * [CLOCK_MONOTONIC_FAST] FreeBSD 8.1 * [CLOCK_MONOTONIC_PRECISE] FreeBSD 8.1 * [CLOCK_MONOTONIC_COARSE] Linux 2.6.32 - * [CLOCK_MONOTONIC_RAW] Linux 2.6.28 + * [CLOCK_MONOTONIC_RAW] Linux 2.6.28, macOS 10.12 + * [CLOCK_MONOTONIC_RAW_APPROX] macOS 10.12 * [CLOCK_BOOTTIME] Linux 2.6.39 * [CLOCK_BOOTTIME_ALARM] Linux 3.0 * [CLOCK_UPTIME] FreeBSD 7.0, OpenBSD 5.5 * [CLOCK_UPTIME_FAST] FreeBSD 8.1 + * [CLOCK_UPTIME_RAW] macOS 10.12 + * [CLOCK_UPTIME_RAW_APPROX] macOS 10.12 * [CLOCK_UPTIME_PRECISE] FreeBSD 8.1 * [CLOCK_SECOND] FreeBSD 8.1 * @@ -7823,6 +7826,9 @@ InitVM_process(void) #ifdef CLOCK_MONOTONIC_RAW rb_define_const(rb_mProcess, "CLOCK_MONOTONIC_RAW", CLOCKID2NUM(CLOCK_MONOTONIC_RAW)); #endif +#ifdef CLOCK_MONOTONIC_RAW_APPROX + rb_define_const(rb_mProcess, "CLOCK_MONOTONIC_RAW_APPROX", CLOCKID2NUM(CLOCK_MONOTONIC_RAW_APPROX)); +#endif #ifdef CLOCK_MONOTONIC_COARSE rb_define_const(rb_mProcess, "CLOCK_MONOTONIC_COARSE", CLOCKID2NUM(CLOCK_MONOTONIC_COARSE)); #endif @@ -7841,6 +7847,12 @@ InitVM_process(void) #ifdef CLOCK_UPTIME_PRECISE rb_define_const(rb_mProcess, "CLOCK_UPTIME_PRECISE", CLOCKID2NUM(CLOCK_UPTIME_PRECISE)); #endif +#ifdef CLOCK_UPTIME_RAW + rb_define_const(rb_mProcess, "CLOCK_UPTIME_RAW", CLOCKID2NUM(CLOCK_UPTIME_RAW)); +#endif +#ifdef CLOCK_UPTIME_RAW_APPROX + rb_define_const(rb_mProcess, "CLOCK_UPTIME_RAW_APPROX", CLOCKID2NUM(CLOCK_UPTIME_RAW_APPROX)); +#endif #ifdef CLOCK_SECOND rb_define_const(rb_mProcess, "CLOCK_SECOND", CLOCKID2NUM(CLOCK_SECOND)); #endif -- cgit v1.2.3