gecko-dev/ipc
Boris Zbarsky 4a394c3f69 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 unlock the mutex and 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-18 17:28:50 +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-18 17:28:50 +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