Reland: Fix leaks related to DependentList retaining owning AbstractPromise
(Fix was to make SingleRejectPrerequisitePolicyALLModified not use RunUntilIdle) Original patch: https://crrev.com/c/1640639 The idea (thanks Etienne) is to not retain any prerequisites (including curried ones) until they've settled. This fixes ref counting cycles while ensuring results are retained for dependencies. This patch also changes the way curried promises are handled which was necessary to break refcounting cycles. Now when a promise resolves or rejects with a promise, its dependents are modified to use the curried promise as their prerequisite instead. TBR=fdoray@chromium.org Bug: 968302, 906125 Change-Id: I1532faff6fe4f55dc236210389db62eb6a03212f Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1680264Reviewed-by:Alex Clarke <alexclarke@chromium.org> Commit-Queue: Alex Clarke <alexclarke@chromium.org> Cr-Commit-Position: refs/heads/master@{#673293}
Showing
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Please register or sign in to comment