Closed Bug 1563832 Opened 6 years ago Closed 6 years ago

Break up PerformAsyncLaunch

Categories

(Core :: IPC, task)

task
Not set
normal

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.

Attachment

General

Created:
Updated:
Size: