<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-legacy-support.

</pre>
<p><a href="https://github.com/macports/macports-legacy-support/commit/dad0f6a15b5ffbb9cc1d782826d86917086c989a">https://github.com/macports/macports-legacy-support/commit/dad0f6a15b5ffbb9cc1d782826d86917086c989a</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit dad0f6a15b5ffbb9cc1d782826d86917086c989a
</span>Author: Fred Wright <fw@fwright.net>
AuthorDate: Wed Oct 9 15:29:29 2024 -0700

<span style='display:block; white-space:pre;color:#404040;'>    Fix CLOCK_MONOTONIC for 10.4
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Referencing "kern.boottime" via sysctlbyname() on 10.4 doesn't work,
</span><span style='display:block; white-space:pre;color:#404040;'>    though it works to use the numeric constants with sysctl().  It was
</span><span style='display:block; white-space:pre;color:#404040;'>    always really dumb to be doing a string lookup on every call, anyway,
</span><span style='display:block; white-space:pre;color:#404040;'>    and this is a speed improvement on all relevant platforms.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    TESTED:
</span><span style='display:block; white-space:pre;color:#404040;'>    CLOCK_MONOTONIC now works and gives plausible results on all
</span><span style='display:block; white-space:pre;color:#404040;'>    platforms.
</span>---
 src/time.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/time.c b/src/time.c
</span><span style='display:block; white-space:pre;color:#808080;'>index e65ab49..69e43e9 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/time.c
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/time.c
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -47,7 +47,9 @@ int clock_gettime( clockid_t clk_id, struct timespec *ts )
</span>     {
       struct timeval boottime;
       size_t boottime_len = sizeof(boottime);
<span style='display:block; white-space:pre;background:#ffe0e0;'>-      ret = sysctlbyname("kern.boottime", &boottime, &boottime_len, NULL, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      int bt_mib[] = {CTL_KERN, KERN_BOOTTIME};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      size_t bt_miblen = sizeof(bt_mib) / sizeof(bt_mib[0]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      ret = sysctl(bt_mib, bt_miblen, &boottime, &boottime_len, NULL, 0);
</span>       if (ret != KERN_SUCCESS) { return ret; }
       struct timeval tv;
       ret = gettimeofday(&tv, NULL);
</pre><pre style='margin:0'>

</pre>