There was no memory barrier between writing and reading `done`, which would allow reordering to cause races. With so little data to handle after each job completes, we might as well just join.
There was no memory barrier between writing and reading `done`, which would allow reordering to cause races. With so little data to handle after each job completes, we might as well just join.