reactos/sdk/lib
Timo Kreuzer fe7a58d92e [RTL] Update CountOfOwnedCriticalSections in the TEB
Useful for debugging.
Motivation: With SMP on x64 I found a number of instances where critical sections would be left abandoned, causing lockups. From what I can tell it was exceptions inside rpcrt4, which leave the process in a blocked state. Might or might not be related to x64 / SMP.

For real value, you still need to put checks at certain places manually, but this is not super straight forward, because there can be false positives, e.g. when a process is terminated due to an exception, where the abandoned lock is acceptable, and we have this during testing. It's difficult to 100% distinguish this from silent and very bad lock leaks.

Problematic code:

    __try
    {
        SomeFunction(); // throws an exception with a CS held, e.g. heap code
    }
    __except(1)
    {
        DPRINT1("Oops. let's just pretend it's all ok!\n");
    }
2025-01-18 21:15:17 +02:00
..
3rdparty [ZLIB] Disable a clang warning 2025-01-14 13:34:24 +02:00
apisets
atl [ATL] CComCriticalSection destructor should not be virtual 2024-10-19 16:16:51 +03:00
cicero
cmlib [CMLIB] Fix GCC13 print formatting '%lu' warning (#7408) 2024-10-08 17:48:03 +02:00
comsupp
conutils
cportlib
cpprt [CPPRT] Add cpprt for GCC, tool 2024-10-24 18:39:50 +03:00
crt [CRT] Sync wine code to wine-7.0 (#7520) 2024-11-27 10:37:18 +02:00
cryptlib
debugsup
delayimp
dmilib
dnslib
drivers [REACTOS] Fix 'writting' typos (#7484) 2024-11-01 11:50:09 +01:00
dxguid
epsapi
evtlib
fast486
fslib
gcc-compat [REACTOS] Improve handling of non-standard names 2024-10-20 14:12:25 +03:00
gcc_ssp
inflib
ioevent
lsalib [LSALIB][SECURE32][LSASRV] Improve the check for trusted/untrusted callers 2024-12-22 11:15:37 +01:00
nt
pathcch
pseh [PSEH] Use native SEH on clang-cl x64 2025-01-14 13:34:24 +02:00
rossym
rossym_new
rtl [RTL] Update CountOfOwnedCriticalSections in the TEB 2025-01-18 21:15:17 +02:00
runtmchk
scrnsave
skiplist
smlib
strmiids
tdilib
tzlib
ucrt [UCRT] Add CMake files 2025-01-16 14:18:53 +02:00
udmihelp
uuid [UUID] Add missing IID_INetConnectionCommonUi2 2024-09-15 19:28:07 +03:00
wdmguid
CMakeLists.txt [UCRT] Add CMake files 2025-01-16 14:18:53 +02:00