mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-19 08:15:31 +00:00
b22230bc7d
In XREMain(), if something went wrong between `PROFILER_INIT` and `MakeUnique<ScopedXPCOMStartup>()`, - XPCOM would not be initialized -- Meaning `ExtensionPolicyService::GetSingleton()` would assert when not finding the Observer Service, - But `gXPCOMShuttingDown` would still be false. So `StreamMetaJSCustomObject` (invoked by `profiler_shutdown`, called by the `PROFILER_INIT` object destructor at the end of `XREMain()`) would still attempt to use `ExtensionPolicyService::GetSingleton()`. In this patch, `StreamMetaJSCustomObject` now checks that the observer service exists, instead of only testing `!gXPCOMShuttingDown`. This should handle all situations where `ExtensionPolicyService::GetSingleton()` could assert, not just during normal shutdown. Differential Revision: https://phabricator.services.mozilla.com/D106061 |
||
---|---|---|
.. | ||
vtune | ||
EHABIStackWalk.cpp | ||
EHABIStackWalk.h | ||
memory_hooks.cpp | ||
memory_hooks.h | ||
PageInformation.cpp | ||
PageInformation.h | ||
platform-linux-android.cpp | ||
platform-macos.cpp | ||
platform-win32.cpp | ||
platform.cpp | ||
platform.h | ||
PlatformMacros.h | ||
ProfileBuffer.cpp | ||
ProfileBuffer.h | ||
ProfileBufferEntry.cpp | ||
ProfileBufferEntry.h | ||
ProfiledThreadData.cpp | ||
ProfiledThreadData.h | ||
ProfilerBacktrace.cpp | ||
ProfilerBacktrace.h | ||
ProfilerCodeAddressService.cpp | ||
ProfilerMarkers.cpp | ||
RegisteredThread.cpp | ||
RegisteredThread.h | ||
shared-libraries-linux.cc | ||
shared-libraries-macos.cc | ||
shared-libraries-win32.cc | ||
ThreadInfo.h | ||
VTuneProfiler.cpp | ||
VTuneProfiler.h |