gecko-dev/storage
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
..
build
rust Bug 1588329 - Introduce mozIStorageAsyncConnection::variableLimit. r=mak 2019-10-15 21:22:57 +00:00
test 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
variant Bug 1582379 - Include more context in Rust mozStorage errors. r=tcsc 2019-09-19 21:16:59 +00:00
FileSystemModule.cpp 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
FileSystemModule.h
IStorageBindingParamsInternal.h
moz.build
mozIStorageAggregateFunction.idl
mozIStorageAsyncConnection.idl Bug 1588329 - Introduce mozIStorageAsyncConnection::variableLimit. r=mak 2019-10-15 21:22:57 +00:00
mozIStorageAsyncStatement.idl
mozIStorageBaseStatement.idl
mozIStorageBindingParams.idl
mozIStorageBindingParamsArray.idl
mozIStorageCompletionCallback.idl
mozIStorageConnection.idl
mozIStorageError.idl
mozIStorageFunction.idl
mozIStoragePendingStatement.idl
mozIStorageProgressHandler.idl
mozIStorageResultSet.idl
mozIStorageRow.idl
mozIStorageService.idl
mozIStorageStatement.idl
mozIStorageStatementCallback.idl
mozIStorageVacuumParticipant.idl
mozIStorageValueArray.idl
mozStorageArgValueArray.cpp
mozStorageArgValueArray.h
mozStorageAsyncStatement.cpp 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
mozStorageAsyncStatement.h
mozStorageAsyncStatementExecution.cpp
mozStorageAsyncStatementExecution.h
mozStorageAsyncStatementJSHelper.cpp Bug 1586683 - Remove flat strings from JSAPI. r=jwalden,bzbarsky 2019-10-14 09:32:07 +00:00
mozStorageAsyncStatementJSHelper.h 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
mozStorageAsyncStatementParams.cpp
mozStorageAsyncStatementParams.h
mozStorageBindingParams.cpp Bug 1605934 - Use nested namespaces r=sg 2020-01-18 13:48:34 +00:00
mozStorageBindingParams.h
mozStorageBindingParamsArray.cpp
mozStorageBindingParamsArray.h
mozStorageConnection.cpp Bug 1414737 - Ensure Connection::GetQuotaObjects only returns NS_OK if the quota objects are non-null. r=janv,dom-workers-and-storage-reviewers 2020-01-23 12:46:46 +00:00
mozStorageConnection.h 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
mozStorageError.cpp
mozStorageError.h
mozStorageHelper.h 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
mozStoragePrivateHelpers.cpp Bug 1570499 - Part 1: Replace MOZ_FALLTHROUGH macro with C++17's [[fallthrough]] attribute. r=froydnj 2019-12-20 07:16:43 +00:00
mozStoragePrivateHelpers.h
mozStorageResultSet.cpp
mozStorageResultSet.h
mozStorageRow.cpp
mozStorageRow.h
mozStorageService.cpp Bug 1606880 - Implement fast shutdown prefs r=froydnj 2020-01-29 12:29:43 +00:00
mozStorageService.h
mozStorageSQLFunctions.cpp
mozStorageSQLFunctions.h
mozStorageStatement.cpp
mozStorageStatement.h
mozStorageStatementData.h 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
mozStorageStatementJSHelper.cpp Bug 1586683 - Remove flat strings from JSAPI. r=jwalden,bzbarsky 2019-10-14 09:32:07 +00:00
mozStorageStatementJSHelper.h 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
mozStorageStatementParams.cpp
mozStorageStatementParams.h
mozStorageStatementRow.cpp Bug 1602882 - Move array operations to a new js/Array.h header. r=sfink,bzbarsky 2019-12-11 06:17:44 +00:00
mozStorageStatementRow.h
SQLCollations.cpp
SQLCollations.h
SQLiteMutex.h
StatementCache.h
storage.h 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
StorageBaseStatementInternal.cpp
StorageBaseStatementInternal.h
style.txt
TelemetryVFS.cpp Bug 1576593 - P2 - Change the way for tunneling quota information to SQLite; r=janv 2019-10-25 12:02:10 +00:00
VacuumManager.cpp
VacuumManager.h 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
Variant_inl.h
Variant.cpp
Variant.h
variantToSQLiteT_impl.h