fix cpu consume at idle
This commit is contained in:
1 parent
fd815150f6
commit
189a93c71d
1 file changed
+13
-14
+13
-14
@@ -867,20 +867,19 @@ void uasync_poll(struct UASYNC* ua, int timeout_tb) {
|
||||
req_timeout.tv_usec = (timeout_tb % 10000) * 100;
|
||||
}
|
||||
|
||||
// Use minimum of requested and next timer if both finite
|
||||
struct timeval poll_timeout;
|
||||
if (timeout_tb < 0) {
|
||||
// Infinite requested - use next timer if any
|
||||
poll_timeout = next_timeout;
|
||||
} else {
|
||||
// Finite requested - min of requested and next
|
||||
if (next_timeout.tv_sec < req_timeout.tv_sec ||
|
||||
(next_timeout.tv_sec == req_timeout.tv_sec && next_timeout.tv_usec < req_timeout.tv_usec)) {
|
||||
poll_timeout = next_timeout;
|
||||
} else {
|
||||
poll_timeout = req_timeout;
|
||||
}
|
||||
}
|
||||
struct timeval poll_timeout;
|
||||
if (timeout_tb < 0) {
|
||||
poll_timeout = next_timeout;
|
||||
} else {
|
||||
if (next_timeout.tv_sec < req_timeout.tv_sec ||
|
||||
(next_timeout.tv_sec == req_timeout.tv_sec && next_timeout.tv_usec < req_timeout.tv_usec)) {
|
||||
poll_timeout = next_timeout;
|
||||
} else {
|
||||
poll_timeout = req_timeout;
|
||||
}
|
||||
}
|
||||
if (poll_timeout.tv_sec == 0 && poll_timeout.tv_usec == 0 && timeout_tb > 0) poll_timeout = req_timeout;
|
||||
|
||||
|
||||
int timeout_ms;
|
||||
if (timeout_tb < 0 && (next_timeout.tv_sec > 0 || next_timeout.tv_usec > 0)) {
|
||||
|
||||
Reference in new issue
Block a user