[platform] Only wait for positive time values in DelayedTaskQueue
We were hitting a DCHECK in WaitFor() when rel_time was negative. This was caused when GetNext() recalculated the wait time for a delayed task. In the first part of the loop we moved all delayed tasks which have passed their deadline into the immediate task queue. At the bottom of the loop we assume that all delayed tasks in the queue have a deadline in the future, but this isn't always the case as we use a new 'now' value for the calculation, and time could have elapsed. Fix this by using one 'now' value for an iteration of the loop. Bug: v8:9030 Change-Id: Ia49fb571f3c7c7d9f15c6a464ee0a9db814a7f03 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1535820 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#60409}
Showing
Please
register
or
sign in
to comment