Closed Bug 1563832 Opened 4 months ago Closed 3 months ago

Break up PerformAsyncLaunch

Categories

(Core :: IPC, task)

task
Not set

Tracking

()

RESOLVED FIXED
mozilla70
Tracking Status
firefox70 --- fixed

People

(Reporter: bholley, Assigned: bholley)

References

Details

Attachments

(3 files)

PerformAsyncLaunch is an enormous pile of nested #ifdefs. I've refactored it into a per-platform inheritance hierarchy with method overrides, which makes it much easier to work with.

This depends on the refactoring in bug 1562763, and facilitates the asynchronous conversion in bug 1562762.

I'm not convinced the current comment about being race-free is accurate
in context of the launcher pool. It probably is correct under this
patch, because ProcessLaunchers should only be constructed on a single
thread, but it's easy enough just to make it atomic.

Hopefully moving the timestamp doesn't perturb telemetry too much.

Pushed by bholley@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/79629d87282a
Create an inheritance hierarchy for the platform-specific bits of process launching. r=jld
https://hg.mozilla.org/integration/autoland/rev/3f03d5f1ebfb
Move a few things into BaseProcessLauncher. r=jld
https://hg.mozilla.org/integration/autoland/rev/fd887713ac62
Decompose PerformAsyncLaunch into the platform hierarchy. r=jld
You need to log in before you can comment on or make changes to this bug.