<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/fcbb7822b48c70656d311c75b6bd04f5a48d1b94">https://github.com/macports/macports-legacy-support/commit/fcbb7822b48c70656d311c75b6bd04f5a48d1b94</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit fcbb7822b48c70656d311c75b6bd04f5a48d1b94
</span>Author: Fred Wright <fw@fwright.net>
AuthorDate: Sun Jun 15 18:29:42 2025 -0700
<span style='display:block; white-space:pre;color:#404040;'> time.c: Discard obviously bad boottime.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> If boottime is later than timeofday, that's a clear indication of
</span><span style='display:block; white-space:pre;color:#404040;'> trouble. Aborts the sleep-offset calculation in that case. This is
</span><span style='display:block; white-space:pre;color:#404040;'> known to happen due to a boottime bug with ppc64 and OS <10.6.
</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;'> Passes tests on all platforms, including ppc64.
</span>---
src/time.c | 5 +++++
1 file changed, 5 insertions(+)
<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 6c14fb8..966d520 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;'>@@ -236,6 +236,11 @@ static void get_sleep_offset(void)
</span> if (get_sleepofs_info(&si)) return;
toddiff = tvdiff2mach(&si.timeofday, &si.boottime);
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* boottime later than tod is garbage */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (toddiff < 0) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sleep_offset_valid = 1; /* It's permanent garbage, so don't retry this */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> offset = toddiff - (si.mach_before + si.mach_after) / 2;
minsleepadj = tvdiff2mach(&tv5a, &tv5b);
maxdrift = (si.mach_before - sleep_info.mach_before)
</pre><pre style='margin:0'>
</pre>