The thing about contributing to Servo is that you keep learning new things about the Web…
Or, how I learned to stop worrying and love suspending, profiling, and resuming threads…
On hanging threads, signal handlers, and backtraces.
Let’s take a look at how in Rust you can have an algorithm generic over T, where T is further bound by a trait, which itself is generic over one of several parameters, as used in the Servo codebase.
The HTML Living Standard tells us the following with regards to task-queues:
Today, let’s go through an entire fetch in Servo, starting with this example in JS:
fetch
with some ‘shared mutable state’ added to the mix…
In our previous post, we saw how combining channels with a kind of “non-event-loop” could be a useful technique to ‘drive’ the concurrent logic of your system, and it was hinted at that shared…