gecko-dev/ipc
Boris Zbarsky 3ae961a2da Bug 1589561. Factor out idle handling from PrioritizedEventQueue. r=smaug
We could try to move the EnforcePendingTaskGuarantee() bit into
PeekIdleDeadline, but then we'd need to check HasReadyEvent() on
mDeferredTimersQueue and mIdleQueue before we possibly unlock the mutex under
PeekIdleDeadline, and it's not clear that that state cannot change once the
mutex is unlocked...

The EnsureIsActive() call at the end of GetIdleDeadlineInternal in the !aIsPeek
case only makes sense if there are in fact idle tasks available to run when
GetDeadlineForIdleTask is called, because otherwise it would incorrectly set us
active when we are not running any tasks.

Differential Revision: https://phabricator.services.mozilla.com/D49696

--HG--
rename : xpcom/threads/PrioritizedEventQueue.cpp => xpcom/threads/IdlePeriodState.cpp
rename : xpcom/threads/PrioritizedEventQueue.h => xpcom/threads/IdlePeriodState.h
extra : moz-landing-system : lando
2019-10-20 15:08:44 +00:00
..
app Bug 1542830: Part 4 - Modify mozglue to use new untrusted modules interfaces; r=mhowell 2019-09-23 20:18:41 +00:00
chromium Bug 1574571. r=bobowen 2019-08-28 18:30:43 +00:00
contentproc Bug 1574421 - Don't recurse in ipc/contentproc. r=froydnj 2019-08-16 13:11:46 +00:00
glue Bug 1589561. Factor out idle handling from PrioritizedEventQueue. r=smaug 2019-10-20 15:08:44 +00:00
gtest Bug 1479960 - Add unit tests for shared memory freezing. r=froydnj 2019-08-14 22:48:52 +00:00
ipdl Backed out changeset 2923afce519a (bug 1557447) for browser chrome failure at tools/profiler/tests/browser/browser_test_feature_preferencereads.js. On a CLOSED TREE 2019-10-18 07:54:09 +03:00
mscom Bug 1586436: Ensure that mscom methods that accept variadic arguments use rvalue references in their arguments; r=Jamie 2019-10-08 20:43:38 +00:00
testshell Bug 1574573 - Disambiguate a use of Handle in XPCShellEnvironment.cpp r=Ehsan 2019-08-17 01:06:19 +00:00
moz.build Bug 1574421 - Don't recurse in ipc/contentproc. r=froydnj 2019-08-16 13:11:46 +00:00
pull-chromium.py