gecko-dev/ipc/mscom
Aaron Klotz 5df7df28c5 Bug 1723837: Improve mscom::ProcessRuntime idempotency; r=Jamie,handyman
`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
2021-08-04 18:02:30 +00:00
..
mozglue Bug 1723837: Improve mscom::ProcessRuntime idempotency; r=Jamie,handyman 2021-08-04 18:02:30 +00:00
oop
ActivationContext.cpp Bug 1714212 - Ensure COM initialized prior to showing skeleton UI r=Jamie,aklotz,tkikuchi 2021-07-07 22:37:14 +00:00
ActivationContext.h Bug 1714212 - Ensure COM initialized prior to showing skeleton UI r=Jamie,aklotz,tkikuchi 2021-07-07 22:37:14 +00:00
Aggregation.h
AgileReference.cpp Bug 1519636 - Initial reformat of C/C++ code with clang-format version 12.0.0. r=sylvestre 2021-05-10 07:15:07 +00:00
AgileReference.h
ApartmentRegion.h
AsyncInvoker.h
COMPtrHolder.h
DispatchForwarder.cpp
DispatchForwarder.h
EnsureMTA.cpp Bug 1707954: Part 3 - Add eager MTA creation to mscom::EnsureMTA; r=Jamie 2021-06-14 21:53:18 +00:00
EnsureMTA.h Bug 1707954: Part 3 - Add eager MTA creation to mscom::EnsureMTA; r=Jamie 2021-06-14 21:53:18 +00:00
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 Bug 1723837: Improve mscom::ProcessRuntime idempotency; r=Jamie,handyman 2021-08-04 18:02:30 +00:00
ProcessRuntime.h Bug 1714212 - Ensure COM initialized prior to showing skeleton UI r=Jamie,aklotz,tkikuchi 2021-07-07 22:37:14 +00:00
ProfilerMarkers.cpp Bug 1720374 - Remove MOZ_GECKO_PROFILER ifdefs that are not useful, r=gerald. 2021-07-15 22:04:23 +00:00
ProfilerMarkers.h
ProxyStream.cpp Bug 1702244 - Don't try to use manifestPath if ACCESSIBILITY isn't set. r=aklotz 2021-03-31 21:55:21 +00:00
ProxyStream.h
Ptr.h
Registration.cpp Bug 1689953: Harmonize shutdown phase definitions across nsTerminator and AppShutdown r=dthayer,chutten 2021-02-27 14:38:14 +00:00
Registration.h
RegistrationAnnotator.cpp
RegistrationAnnotator.h
SpinEvent.cpp
SpinEvent.h
StructStream.cpp
StructStream.h
Utils.cpp
Utils.h Bug 1714212 - Ensure COM initialized prior to showing skeleton UI r=Jamie,aklotz,tkikuchi 2021-07-07 22:37:14 +00:00
VTableBuilder.c
VTableBuilder.h
WeakRef.cpp
WeakRef.h