mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-16 14:55:47 +00:00
5df7df28c5
`mscom::ProcessRuntime` supports multiple instances because Reasons (TM). To make this happen, we store some information in `mozglue` that enforces serialization between instances and also informs an instance as to whether any other instances have successfully completed initialization. Unfortunately it is possible for us to encounter situations where one instance manages to *partially* but not *completely* finish initialization. Since our shared information is currently a simple `bool`, we cannot really capture this case. Furthermore, APIs such as `CoInitializeSecurity` will actually fail if called again after previous activity, so we should guard against multiple invocations within the same process. To improve this situation, I'd like to replace the shared `bool` with a typed enum that can provide finer-grained information as to how far a previous instance actually managed to get. Differential Revision: https://phabricator.services.mozilla.com/D121672 |
||
---|---|---|
.. | ||
mozglue | ||
oop | ||
ActivationContext.cpp | ||
ActivationContext.h | ||
Aggregation.h | ||
AgileReference.cpp | ||
AgileReference.h | ||
ApartmentRegion.h | ||
AsyncInvoker.h | ||
COMPtrHolder.h | ||
DispatchForwarder.cpp | ||
DispatchForwarder.h | ||
EnsureMTA.cpp | ||
EnsureMTA.h | ||
FastMarshaler.cpp | ||
FastMarshaler.h | ||
IHandlerProvider.h | ||
Interceptor.cpp | ||
Interceptor.h | ||
InterceptorLog.cpp | ||
InterceptorLog.h | ||
MainThreadHandoff.cpp | ||
MainThreadHandoff.h | ||
MainThreadInvoker.cpp | ||
MainThreadInvoker.h | ||
moz.build | ||
Objref.cpp | ||
Objref.h | ||
PassthruProxy.cpp | ||
PassthruProxy.h | ||
ProcessRuntime.cpp | ||
ProcessRuntime.h | ||
ProfilerMarkers.cpp | ||
ProfilerMarkers.h | ||
ProxyStream.cpp | ||
ProxyStream.h | ||
Ptr.h | ||
Registration.cpp | ||
Registration.h | ||
RegistrationAnnotator.cpp | ||
RegistrationAnnotator.h | ||
SpinEvent.cpp | ||
SpinEvent.h | ||
StructStream.cpp | ||
StructStream.h | ||
Utils.cpp | ||
Utils.h | ||
VTableBuilder.c | ||
VTableBuilder.h | ||
WeakRef.cpp | ||
WeakRef.h |