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

Reply via email to