Bill Sobel added the comment: I'd like to suggest a easy fix here (I saw this was closed, but the posters were asking for a behavior change). With this fix there is no behavior change to callers or new parameters to the API.
if remaining >= 4.0: maxDelay = 1 else: maxDelay = .05 delay = min(delay * 2, remaining, maxDelay) With this fix the loop waits 1 second until it is 'close' to the expiration time then goes into its normal 20 times per-second check. For long waits this is what is causing the power issue and is alleviated by throttling back on the check when not close to expiration. ---------- nosy: +Bill.Sobel _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue17748> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com