gecko-dev/ipc/mscom
James Teh d4ef733244 Bug 1472137 - Prevent mutex reentry in mscom::Interceptor::Create if GetInitialInterceptorForIID fails. r=aklotz
If GetInitialInterceptorForIID fails, the live set lock is not released in most cases, but the newly created Interceptor will be destroyed.
The Interceptor's destructor tries to acquire the live set lock again, but that causes a deadlock, since reentry is no longer allowed for a mutex after bug 1364624.
GetInitialInterceptorForIID now ensures the live set lock is always released  on failure, thus preventing the deadlock.

MozReview-Commit-ID: z0Q7JLnJXQ

--HG--
extra : amend_source : 0b9837e5500754b5782e72337fc59b7904c5e29c
2018-07-02 15:17:12 +10:00
..
oop Bug 1466168: Remove mozilla::Forward in favor of std::forward. r=froydnj 2018-06-02 09:33:26 +02:00
ActivationContext.cpp Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
ActivationContext.h Bug 1466168: Remove mozilla::Forward in favor of std::forward. r=froydnj 2018-06-02 09:33:26 +02:00
Aggregation.h
AgileReference.cpp Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
AgileReference.h
AsyncInvoker.h Bug 1466168: Remove mozilla::Forward in favor of std::forward. r=froydnj 2018-06-02 09:33:26 +02:00
COMApartmentRegion.h
COMPtrHolder.h Bug 1466168: Remove mozilla::Forward in favor of std::forward. r=froydnj 2018-06-02 09:33:26 +02:00
DispatchForwarder.cpp Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
DispatchForwarder.h
EnsureMTA.cpp Bug 1411001 - Remove the +x permissions on cpp & h files r=froydnj 2017-10-23 20:59:55 +02:00
EnsureMTA.h
FastMarshaler.cpp Backed out changeset c055d7b57071 (bug 1434822) for causing 1442523. a=backout 2018-03-02 11:27:55 +02:00
FastMarshaler.h
IHandlerProvider.h Bug 1434822 part 2: mscom: Add a function to disconnect all remote clients associated with a given target. r=aklotz 2018-02-19 16:08:57 +10:00
Interceptor.cpp Bug 1472137 - Prevent mutex reentry in mscom::Interceptor::Create if GetInitialInterceptorForIID fails. r=aklotz 2018-07-02 15:17:12 +10:00
Interceptor.h Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
InterceptorLog.cpp Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
InterceptorLog.h Bug 1411391: Ensure mscom::InterceptorLog covers time spent wrapping outparams in mscom::MainThreadHandoff; r=jimm 2017-10-23 16:55:26 -06:00
MainThreadClientInfo.cpp
MainThreadClientInfo.h
MainThreadHandoff.cpp Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
MainThreadHandoff.h Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
MainThreadInvoker.cpp Bug 1448040 - Remove HangMonitor/ChromeHangs r=Nika 2018-04-29 18:21:20 -07:00
MainThreadInvoker.h Bug 1466168: Remove mozilla::Forward in favor of std::forward. r=froydnj 2018-06-02 09:33:26 +02:00
MainThreadRuntime.cpp Bug 1404482: Remove crash report annotation that was being made before the crash reporter initialized; r=Jamie 2018-01-23 12:06:58 -07:00
MainThreadRuntime.h
moz.build Bug 1402519 - Remove MOZ_CRASHREPORTER directives from ipc; r=billm 2017-10-10 12:06:35 +02:00
Objref.cpp Bug 1403180: Fix StripHandlerFromOBJREF for VT_DISPATCH on Windows 7. r=aklotz 2017-10-23 15:37:24 +10:00
Objref.h Bug 1393600: Ensure that the handler sends a known interface to external clients; r=jimm 2017-09-24 14:32:36 -06:00
PassthruProxy.cpp Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
PassthruProxy.h Bug 1406827: Do not wrap an interface with a passthru proxy unless sandboxing is enabled and >= level 3; r=jimm 2017-11-03 16:50:17 -06:00
ProxyStream.cpp Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
ProxyStream.h Bug 1399557: Add Environment to mscom::ProxyStream and define it for IAccessible; r=jimm 2017-09-29 15:41:28 -06:00
Ptr.h Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
Registration.cpp Bug 1466168: Remove mozilla::Forward in favor of std::forward. r=froydnj 2018-06-02 09:33:26 +02:00
Registration.h
RegistrationAnnotator.cpp merge mozilla-inbound to mozilla-central. r=merge a=merge 2017-08-31 14:36:51 +02:00
RegistrationAnnotator.h Bug 1402519 - Remove MOZ_CRASHREPORTER directives from ipc; r=billm 2017-10-10 12:06:35 +02:00
SpinEvent.cpp Bug 1429665: ipc::mscom::SpinEvent: Only spin for a short time, falling back to an event thereafter. r=aklotz 2018-01-15 14:51:19 +10:00
SpinEvent.h Bug 1429665: ipc::mscom::SpinEvent: Only spin for a short time, falling back to an event thereafter. r=aklotz 2018-01-15 14:51:19 +10:00
StructStream.cpp
StructStream.h Bug 1440564: mscom::StructToStream: Free the buffer when destroying the instance. r=aklotz 2018-02-23 20:00:30 +10:00
Utils.cpp Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
Utils.h Bug 1472137 - Prevent mutex reentry in mscom::Interceptor::Create if GetInitialInterceptorForIID fails. r=aklotz 2018-07-02 15:17:12 +10:00
VTableBuilder.c Bug 1390652: Part 3 - Add proxy wrapper that passes its inner proxy through content as a blob; r=jimm 2017-08-21 15:47:44 -06:00
VTableBuilder.h Bug 1394868 Fix include casing in VTableBuilder.h to fix MinGW build r=aklotz 2017-08-29 11:34:58 -05:00
WeakRef.cpp Bug 1433046: Use WeakReferenceSupport::StabilizeRefCount instead of regular kung-fu death grips when aggregating; r=Jamie 2018-01-25 13:45:21 -07:00
WeakRef.h Bug 1433046: Use WeakReferenceSupport::StabilizeRefCount instead of regular kung-fu death grips when aggregating; r=Jamie 2018-01-25 13:45:21 -07:00