зеркало из https://github.com/mozilla/gecko-dev.git
185e25fddf
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 |
||
---|---|---|
.. | ||
build | ||
rust | ||
test | ||
variant | ||
FileSystemModule.cpp | ||
FileSystemModule.h | ||
IStorageBindingParamsInternal.h | ||
SQLCollations.cpp | ||
SQLCollations.h | ||
SQLiteMutex.h | ||
StatementCache.h | ||
StorageBaseStatementInternal.cpp | ||
StorageBaseStatementInternal.h | ||
TelemetryVFS.cpp | ||
VacuumManager.cpp | ||
VacuumManager.h | ||
Variant.cpp | ||
Variant.h | ||
Variant_inl.h | ||
moz.build | ||
mozIStorageAggregateFunction.idl | ||
mozIStorageAsyncConnection.idl | ||
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 | ||
mozStorageAsyncStatement.h | ||
mozStorageAsyncStatementExecution.cpp | ||
mozStorageAsyncStatementExecution.h | ||
mozStorageAsyncStatementJSHelper.cpp | ||
mozStorageAsyncStatementJSHelper.h | ||
mozStorageAsyncStatementParams.cpp | ||
mozStorageAsyncStatementParams.h | ||
mozStorageBindingParams.cpp | ||
mozStorageBindingParams.h | ||
mozStorageBindingParamsArray.cpp | ||
mozStorageBindingParamsArray.h | ||
mozStorageConnection.cpp | ||
mozStorageConnection.h | ||
mozStorageError.cpp | ||
mozStorageError.h | ||
mozStorageHelper.h | ||
mozStoragePrivateHelpers.cpp | ||
mozStoragePrivateHelpers.h | ||
mozStorageResultSet.cpp | ||
mozStorageResultSet.h | ||
mozStorageRow.cpp | ||
mozStorageRow.h | ||
mozStorageSQLFunctions.cpp | ||
mozStorageSQLFunctions.h | ||
mozStorageService.cpp | ||
mozStorageService.h | ||
mozStorageStatement.cpp | ||
mozStorageStatement.h | ||
mozStorageStatementData.h | ||
mozStorageStatementJSHelper.cpp | ||
mozStorageStatementJSHelper.h | ||
mozStorageStatementParams.cpp | ||
mozStorageStatementParams.h | ||
mozStorageStatementRow.cpp | ||
mozStorageStatementRow.h | ||
storage.h | ||
style.txt | ||
variantToSQLiteT_impl.h |