reactos/sdk/lib
George Bișoc 578f2fc512
[NTOS:CM] Don't lazy flush the registry during unlocking operation
Whenever ReactOS finishes its operations onto the registry and unlocks it, a lazy flush is invoked to do an eventual flushing of the registry to the backing storage of the system. Except that... lazy flushing never comes into place.

This is because whenever CmpLazyFlush is called that sets up a timer which needs to expire in order to trigger the lazy flusher engine worker. However, registry locking/unlocking is a frequent occurrence, mainly when on desktop. Therefore as a matter of fact, CmpLazyFlush keeps removing and inserting the timer and the lazy flusher will never kick in that way.

Ironically the lazy flusher actually does the flushing when on USETUP installation phase because during text-mode setup installation in ReactOS the frequency of registry operations is actually less so the timer has the opportunity to expire and fire up the flusher.

In addition to that, we must queue a lazy flush when marking cells as dirty because such dirty data has to be flushed down to the media storage of the system. Of course, the real place where lazy flushing operation is done should be in a subset helper like HvMarkDirty that marks parts of a hive as dirty but since we do not have that, we'll be lazy flushing the registry during cells dirty marking instead for now.

CORE-18303
2022-12-23 19:45:13 +01:00
..
3rdparty [LIBXML2] Update to version 2.10.3. CORE-17766 2022-11-25 09:30:40 -05:00
atl [ATL] Prohibit the use of AddRef/Release on objects inside CComPtr 2022-10-02 00:38:23 +02:00
cmlib [NTOS:CM] Don't lazy flush the registry during unlocking operation 2022-12-23 19:45:13 +01:00
comsupp [COMSUPP] Relicense as BSD. 2022-03-15 22:54:17 -04:00
conutils [CONUTILS:PAGER][MORE] Implement text line caching + fix some bugs. 2021-06-28 21:26:32 +02:00
cportlib [CPORTLIB] Remove any usage of debug.h since this lib implements the support for said debugging output. 2022-01-11 22:45:14 +01:00
cpprt [FORMATTING] Remove trailing whitespace. Addendum to 34593d93. 2021-09-13 03:52:22 +02:00
crt [CRT] Add simplistic fallback implementation of sincos to make GCC 11 happy 2022-12-01 15:21:59 +02:00
cryptlib [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
debugsup [REACTOS] *.spec: Fix some function/parameter types (#3154) 2020-09-20 19:21:11 +02:00
delayimp [DELAYIMP] Fix/Merge definitions of __pfnDliNotifyHook2 and __pfnDliFailureHook2 2018-06-13 23:28:15 +02:00
dmilib [DRWTSN32] Add SMBIOS data to the system information (#1017) 2018-11-21 21:49:15 +01:00
dnslib [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
drivers [IP] AddrCountPrefixBits(): Fix loop condition (#4556) 2022-06-25 17:14:03 +02:00
dxguid [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
epsapi [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
evtlib [EVTLIB] Silence some DPRINTs. 2018-04-22 02:53:40 +02:00
fast486 [REACTOS] Fix misc 64 bit issues (#783) 2019-01-05 10:50:11 +01:00
fslib [BTRFS][UBTRFS][SHELLBTRFS] Upgrade to 1.7.8 (#4417) 2022-05-03 17:30:11 +02:00
gcc_ssp [CMAKE] Fix GCC -fstack-protector usage 2021-01-05 13:38:57 +01:00
inflib [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
ioevent Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
lsalib [CMAKE] Replace custom functions to built-in ones 2020-04-16 15:59:38 +03:00
nt [SDK:NT] Remove Win32-isms. 2019-09-19 02:39:59 +02:00
pseh [FREELDR][NTOS][HALPPC][SDK] Remove PowerPC code 2021-08-15 15:35:51 +03:00
rossym [NTOS:KD][NTOS:KD64][NTOS:KDBG] Fix IRQL & spinlock use 2021-06-29 11:49:20 +02:00
rossym_new [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
rtl [NDK] Fix description for PIO_APC_ROUTINE. 2022-11-26 02:38:52 +01:00
runtmchk [REACTOS] Finally get some ARM64 applications building (#4517) 2022-05-25 17:06:32 +03:00
scrnsave Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
skiplist [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
smlib [SMSS] Improve comments/code/some DPRINTs. Reorganize smss.h header. 2022-11-14 00:10:35 +01:00
strmiids Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
tdilib [FORMATTING] Remove trailing whitespace. Addendum to 34593d93. 2021-09-13 03:52:22 +02:00
tzlib [TZLIB] QueryTimeZoneData(): Don't fail if the optional values "Display", "Std", "Dlt" are missing (or too long to be captured). However fail if the timezone information is missing. 2020-04-22 00:58:32 +02:00
udmihelp [DRWTSN32] Add SMBIOS data to the system information (#1017) 2018-11-21 21:49:15 +01:00
uuid [PSDK][UUID] Import natupnp.idl from Wine Staging 4.18. CORE-16441 2019-10-20 20:01:58 +01:00
wdmguid Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
CMakeLists.txt [FREELDR][NTOS][HALPPC][SDK] Remove PowerPC code 2021-08-15 15:35:51 +03:00