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 Rework apisets to use a table 2024-04-27 22:51:34 +02:00
atl [ATL] CComCriticalSection destructor should not be virtual 2024-10-19 16:16:51 +03:00
cicero [MSCTFIME][CICERO] Half-implement CIMEUIWindowHandler (#6521) 2024-02-23 13:45:00 +09:00
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 [NTDLL][ADVAPI32][ADVAPI32_APITEST][CRYPTLIB] Add hash API exports for NT6+ and apitests with small fixes 2024-04-13 12:41:36 +02:00
debugsup
delayimp [REACTOS] Fix typos (#6198) 2023-12-23 21:37:08 +01:00
dmilib
dnslib
drivers [REACTOS] Fix 'writting' typos (#7484) 2024-11-01 11:50:09 +01:00
dxguid
epsapi
evtlib [EVTLIB] Fix size of event log record 2024-04-22 16:42:02 +02:00
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 [SDK:LIB] Import PathCch* functions from Wine (#5842) 2023-11-26 13:43:15 +01:00
pseh [PSEH] Use native SEH on clang-cl x64 2025-01-14 13:34:24 +02:00
rossym [FREELDR][ROSSYM(_NEW)] Remove last vestigial references to "NTOSAPI". 2024-03-07 13:35:08 +01:00
rossym_new [FREELDR][ROSSYM(_NEW)] Remove last vestigial references to "NTOSAPI". 2024-03-07 13:35:08 +01:00
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