Commit Graph

18 Commits

Author SHA1 Message Date
Aaron Klotz
f06eb6d4d5 Bug 1433046: Use WeakReferenceSupport::StabilizeRefCount instead of regular kung-fu death grips when aggregating; r=Jamie
This fix is completely speculative, but I have strong reason to believe that
we are having lifetime issues, and that refcount stabilization might be coming
into play.

The situation is this:

Suppose we're aggregating an object, so we pass |this| as the outer IUnknown.
The inner object might perform AddRef() and Release() on |this| during its
initialization.

But if we're in the process of creating the outer object, that refcount might
not yet have been incremented by 1, so the inner object's invocation of the
outer object's Release() could trigger a deletion.

The way around this is to temporarily bump the refcount when aggregating another
object. The key, though, is to not do this via AddRef() and Release(), but by
direct maniuplation of the refcount variable, so that we don't trigger any of
the self-deletion stuff.

MozReview-Commit-ID: 3WA2AJvb6jY
2018-01-25 13:45:21 -07:00
Aaron Klotz
41926b95b6 Bug 1428759: Remove mutual exclusion from WeakReferenceSupport interface queries; r=Jamie 2018-01-12 14:17:18 -07:00
Aaron Klotz
1bc3607792 Bug 1395329: Modify mscom::Interceptor::Create to properly initialize IUnknown interfaces; r=jimm
MozReview-Commit-ID: 7ZLzpH030Of
2017-08-30 16:34:43 -06:00
Sebastian Hengst
4bd33cfec1 Backed out changeset 0eb505a8ac7c (bug 1395329) for Windows static bustage in Interceptor.obj. r=backout 2017-09-01 19:58:06 +02:00
Aaron Klotz
31be5cccbd Bug 1395329: Modify mscom::Interceptor::Create to properly initialize IUnknown interfaces; r=jimm
MozReview-Commit-ID: 7ZLzpH030Of
2017-08-30 16:34:43 -06:00
Andrea Marchesini
9e8ae1dfd0 Bug 1350958 - Finish labeling ProxyReleaseEvent, r=billm 2017-07-14 08:49:22 +02:00
Bevis Tseng
e6dc9e02bc Bug 1372453 - Part 2: Name the caller of ProxyReleaseEvent. r=billm
MozReview-Commit-ID: LYhSWnZkq0i
2017-06-14 09:27:17 +08:00
Aaron Klotz
ab723c7f29 Bug 1371345: Fix deadlock caused by holding mscom Interceptor live set lock while posting work to the main thread; r=jimm
MozReview-Commit-ID: H6buwB98Bmu
2017-06-08 11:52:53 -06:00
Michael Layzell
7ad42f641e Bug 1336510 - Part 10: Remove unnecessary assertion from SharedRef::Clear(), r=aklotz
MozReview-Commit-ID: Fx7CmxgiJpo
2017-02-24 14:34:32 -05:00
Michael Layzell
3021a2f0ac Bug 1336510 - Part 7: Stop capturing this by value in windows-only code, r=aklotz
MozReview-Commit-ID: B4dYo4ETzkL
2017-02-24 14:34:27 -05:00
Wes Kocher
4f2e3a1877 Backed out 8 changesets (bug 1336510) for windows debug mn-e10s failures a=backout
Backed out changeset 419ada2f9e81 (bug 1336510)
Backed out changeset 19239f566a93 (bug 1336510)
Backed out changeset c8aeead6fe83 (bug 1336510)
Backed out changeset 422e63b872b5 (bug 1336510)
Backed out changeset 21869174dfd3 (bug 1336510)
Backed out changeset 57476b9f342d (bug 1336510)
Backed out changeset e842cdaaa7e5 (bug 1336510)
Backed out changeset bd943b368ff7 (bug 1336510)

MozReview-Commit-ID: 2z3Wa9QFkX4
2017-02-23 16:07:41 -08:00
Michael Layzell
62e029b414 Bug 1336510 - Part 7: Stop capturing this by value in windows-only code, r=aklotz
MozReview-Commit-ID: B4dYo4ETzkL
2017-02-23 12:24:12 -05:00
Aaron Klotz
49eba1cb0c Bug 1339951: Refactor mscom weak reference support and establish lock hierarchy within; r=jimm
MozReview-Commit-ID: BJJpSj44alY
2017-02-17 17:35:01 -07:00
Sebastian Hengst
fe6d00c743 Backed out changeset 06cd86f16c70 (bug 1339951) in hope for fix for a11y related crashes e.g. in Mn-e10s on Windows 8 x64 debug test_accessibility.py TestAccessibility.test_click_raises_element_not_accessible. r=backout 2017-02-18 01:18:45 +01:00
Aaron Klotz
df210c8b43 Bug 1339951: Refactor mscom weak reference support and establish lock hierarchy within; r=jimm
MozReview-Commit-ID: BJJpSj44alY
2017-02-15 15:33:32 -07:00
Ting-Yu Chou
5fab2a878b Bug 1322460 - Don't addref/release on the return value of prohibited functions. r=aklotz,Ehsan
MozReview-Commit-ID: B0mAMZp5sll
2016-12-14 14:34:26 +08:00
Ting-Yu Chou
0b4be44a91 Bug 1322458 - Fix kungFuDeathGrip errors that clang plugin reports on Windows. r=aklotz,Ehsan
MozReview-Commit-ID: FLTLZSg2yh9
2016-12-14 16:34:12 +08:00
Aaron Klotz
920ecd26ec Bug 1263224: Add support for thread-safe weak references for COM-based objects; r=jimm
MozReview-Commit-ID: JxVMyDhNPs4
2016-07-19 13:36:55 -06:00