gecko-dev/xpcom
Doug Thayer 185e25fddf Bug 1606880 - Implement fast shutdown prefs r=froydnj
I originally had this as a few patches, but the work to fix test
failures and get the whole thing into a complete working state
quickly tangled them up. Apologies for that. To summarize what's
going on here, however:

- We introduce two prefs: shutdown.fastShutdownStage and
  shutdown.lateWriteChecksStage. The latter pref is set to 1, which
  will leave the existing late write checking behavior unchanged.
  However, we introduce this pref to make it simpler in the future
  to bump the late write checks window earlier in the shutdown cycle.
- We introduce an AppShutdown class, which will house static methods
  and a small amount of state for unifying some shutdown logic. Most
  importantly, it will now manage the state for app initiated restarts,
  as well as the logic for performing a safe fast shutdown.
- We refactored the existing restart code to call into the new
  AppShutdown file, so that if we are configured to actually perform
  a fast shutdown, we will be able to run the necessary restart logic
  immediately before doing so. Previously, the restart logic occurred
  later in the shutdown cycle than our late write checking, meaning
  if we were to simply exit the process at that point in time, we
  would never run the restart coe.
- Lastly, we updated two locations which called TerminateProcess and/or
  _exit(0) to call into the AppShutdown method (DoFastShutdown).

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

--HG--
extra : moz-landing-system : lando
2020-01-29 12:29:43 +00:00
..
base Bug 1606880 - Implement fast shutdown prefs r=froydnj 2020-01-29 12:29:43 +00:00
build Bug 1606880 - Implement fast shutdown prefs r=froydnj 2020-01-29 12:29:43 +00:00
components Bug 1607595 - Remove uses of mozilla::IsBaseOf. r=froydnj 2020-01-08 14:52:10 +00:00
doc
ds Bug 1605566 - MessagePort + wasm - part 3 - MessagePort serializes objects using MessageData union, r=smaug 2020-01-24 07:58:21 +00:00
glue Bug 1600545 - Remove useless inclusions of header files generated from IDL files in modules/, netwerk/, parser/, security/, startupcache/, storage/, toolkit/, tools/, uriloader/, widget/, xpcom/ and xpfe/ r=Ehsan 2019-12-06 09:17:57 +00:00
idl-parser Bug 1611173 - Remove support for non-nsISupports XPIDL interfaces. r=nika 2020-01-24 23:13:30 +00:00
io Bug 1602986 - Get rid of NS_WARN_IF warnings in nsSegmentedBuffer::FreeOMT r=froydnj 2020-01-29 10:03:34 +00:00
libxpt/xptcall
reflect Bug 1241518 - Part 1: Remove unused nsAutoPtr.h includes in xpcom/ r=kmag 2020-01-07 00:06:01 +00:00
rust Bug 1587468 - Update uuid to 0.8.1. r=webdriver-reviewers,whimboo,emilio 2019-12-06 00:47:50 +00:00
string Bug 1611536 - Add stdint.h include for fixed-width integer types r=Ehsan 2020-01-25 00:40:51 +00:00
system Bug 1470591 - Part 1: Add a new process type for ForkServer. r=gsvelto 2019-12-05 00:03:29 +00:00
tests Bug 1609996 - Reorder some includes affected by the previous patches. r=froydnj 2020-01-20 16:19:48 +00:00
threads Bug 1609996 - Reorder some includes affected by the previous patches. r=froydnj 2020-01-20 16:19:48 +00:00
windbgdlg
xpidl
moz.build
xpcom-config.h.in Bug 1570982 - remove CPP_THROW_NEW; r=glandium 2019-08-14 01:32:41 +00:00
xpcom-private.h.in