-
fix(bridge): detect resume via CLOCK_BOOTTIME, not MONOTONIC · 3a973eec
Field-caught by the watcher itself. The laptop suspended ~10:11 and resumed 11:21:46; resume reset the pstate cap (a brief 4.4 GHz clock spike in the monitor log), and the watcher DID restore cool — but at 11:22:04 via the ~30s periodic drift check ("[perf-watch] drift: reasserted cool"), not the fast 2s resume path. Cause: the resume detector used time.monotonic(), and CLOCK_MONOTONIC does not advance while the system is suspended — so on thaw the thread saw only its normal ~5s sleep, gap << threshold, resume missed. The periodic safety net (belt-and- suspenders) is what actually caught it. Fix: measure the gap with CLOCK_BOOTTIME, which counts suspended time, so a resume now shows as a large gap and triggers the immediate force-reassert (2s settle). Falls back to monotonic if CLOCK_BOOTTIME is unavailable. Verified present on this box (uptime read OK); watcher restarts clean with on_ac=True desired=cool.PLN (Algolia) authored3a973eec
×