reactos/lib/rtl
Cameron Gutman 29fa274d6d - Create another branch for networking fixes
- TSVN choked repeatedly when attempting to merge ~9000 revs into the branch (tried 3 times on 2 different computers)
 - If someone wants to delete aicom-network-fixes, they are welcome to
 - Lesson learned: Letting a branch get thousands of revs out of date is a horrible idea

svn path=/branches/aicom-network-branch/; revision=44353
2009-12-02 03:23:19 +00:00
..
arm
austin
i386
powerpc
access.c
acl.c
actctx.c
assert.c
atom.c
bitmap.c
bootdata.c
compress.c
condvar.c
crc32.c
critical.c
dbgbuffer.c
debug.c
dos8dot3.c
encode.c
env.c
error.c
exception.c
generictable.c
handle.c
heap.c
image.c
interlck.c
largeint.c - Create another branch for networking fixes 2009-12-02 03:23:19 +00:00
luid.c - Create another branch for networking fixes 2009-12-02 03:23:19 +00:00
mem.c - Create another branch for networking fixes 2009-12-02 03:23:19 +00:00
memgen.c - Create another branch for networking fixes 2009-12-02 03:23:19 +00:00
message.c
network.c
nls.c
path.c
ppb.c - Create another branch for networking fixes 2009-12-02 03:23:19 +00:00
process.c
propvar.c
qsort.c
random.c
rangelist.c
readme.txt
registry.c
res.c
resource.c
rtl.h
rtl.rbuild
rtlp.h - Create another branch for networking fixes 2009-12-02 03:23:19 +00:00
sd.c
security.c
sid.c - Create another branch for networking fixes 2009-12-02 03:23:19 +00:00
slist.c
splaytree.c - Create another branch for networking fixes 2009-12-02 03:23:19 +00:00
sprintf.c
srw.c
swprintf.c - Create another branch for networking fixes 2009-12-02 03:23:19 +00:00
thread.c
time.c - Create another branch for networking fixes 2009-12-02 03:23:19 +00:00
timerqueue.c
timezone.c
unicode.c
unicodeprefix.c
vectoreh.c
version.c - Create another branch for networking fixes 2009-12-02 03:23:19 +00:00
wait.c
workitem.c

RTL restrictions:

ExAllocatePool (and friends) must be used exclusively. RtlAllocateHeap (and friends) must NOT be used! ExAllocatePool (and friends) translate to RtlAllocateHeap (and friends) in ntdll\rtl\libsupp.c.

RtlEnterCriticalSection (and friends) must be used exclusively. ExAcquireFastMutex (and friends) must NOT be used! RtlEnterCriticalSection (and friends) translate to ExAcquireFastMutex (and friends) in ntoskrnl\rtl\libsupp.c. This means that RtlEnterCriticalSection (and friends) can NOT be used recursively in RTL. The reason for choosing RtlEnterCriticalSection (and friends) over ExAcquireFastMutex (and friends) is that the FAST_MUTEX struct is smaller than the RTL_CRITICAL_SECTION struct.