diff options
author | bors-servo <metajack+bors@gmail.com> | 2015-10-21 09:07:30 -0600 |
---|---|---|
committer | bors-servo <metajack+bors@gmail.com> | 2015-10-21 09:07:30 -0600 |
commit | 2de5407cdabef67ed03b2ad4edf4a22541d77875 (patch) | |
tree | 11eb382a303f1175ae0f2df6a6169ca412201466 /components/script/dom/bindings/js.rs | |
parent | 252e73ff9b43abdeee4eac37702ef2e3adef0062 (diff) | |
parent | 553a0dbefd8a8724f7c894b1c25e6c15c35d6d04 (diff) | |
download | servo-2de5407cdabef67ed03b2ad4edf4a22541d77875.tar.gz servo-2de5407cdabef67ed03b2ad4edf4a22541d77875.zip |
Auto merge of #7450 - benschulz:constellation-timer, r=jdm
Ordering guarantees for timers
This is an rough solution to the issue described in #3396. XHRs still do their own thing and an overall clean up is in order. Before I do that, though, I'd really like someone to sign off on the overall idea.
There's one major difference to what jdm layed out #3396: The timers remain with the window/worker and only the earliest expiring one is coordinated with the dedicated timer thread.
That means both the timer thread and the window/worker have to keep track of which timer expires next, which feels a bit wonky. However, the upshot is that there's no need for communication with the timer thread when a pipeline is frozen, thawed or dropped.
Most relvant parts are
- the [`TimerScheduler`](https://github.com/servo/servo/commit/6f5f6619586379982321b5de7583d387df184504#diff-74137a6f50ab38e7a1e4d16920a66ce7R73), which is the new per-constellation timer task and
- the [`ActiveTimers`](https://github.com/servo/servo/commit/6f5f6619586379982321b5de7583d387df184504#diff-86707d952414a2860b78bcf6c1db8e2eR34) which is what's left on the window/worker side.
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7450)
<!-- Reviewable:end -->
Diffstat (limited to 'components/script/dom/bindings/js.rs')
0 files changed, 0 insertions, 0 deletions