Author: tkreuzer
Date: Wed Jul 20 16:29:38 2011
New Revision: 52741
URL: http://svn.reactos.org/svn/reactos?rev=52741&view=rev
Log:
[NTOSKRNL]
Patch by Thomas Faber
ExAcquireSharedStarveExclusive and ExAcquireSharedWaitForExclusive should
return FALSE when they cannot immediately acquire the resource, and the Wait parameter is false. They return TRUE instead, leading the caller to believe it acquired the resource, which will result in a bugcheck when it tries to release it.
See issue #6375 for more details.
Modified:
trunk/reactos/ntoskrnl/ex/resource.c
Modified: trunk/reactos/ntoskrnl/ex/resource.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ex/resource.c?rev…
==============================================================================
--- trunk/reactos/ntoskrnl/ex/resource.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/ex/resource.c [iso-8859-1] Wed Jul 20 16:29:38 2011
@@ -1159,7 +1159,7 @@
{
/* Release the lock and return */
ExReleaseResourceLock(Resource, &LockHandle);
- return TRUE;
+ return FALSE;
}
/* Check if we have a shared waiters semaphore */
@@ -1276,7 +1276,7 @@
{
/* So bail out if we're not allowed */
ExReleaseResourceLock(Resource, &LockHandle);
- return TRUE;
+ return FALSE;
}
/* Check if we have a shared waiters semaphore */
@@ -1359,7 +1359,7 @@
{
/* So bail out if we're not allowed */
ExReleaseResourceLock(Resource, &LockHandle);
- return TRUE;
+ return FALSE;
}
/* Check if we have a shared waiters semaphore */
Author: ion
Date: Wed Jul 20 16:14:21 2011
New Revision: 52738
URL: http://svn.reactos.org/svn/reactos?rev=52738&view=rev
Log:
NO CODE CHANGE
[KERNEL32]: Reorganize the source tree into a "client" section (The Win32 API proper and its wrapping of the NT base system -- unsynchable with Wine until they have a proper NtDll and choose to use our code) and a "winnls" section (string/language/etc stuff easily synchable with Wine).
[KERNEL32]: Note: this is not perfect yet, but a step in the right direction.
Added:
trunk/reactos/dll/win32/kernel32/client/
trunk/reactos/dll/win32/kernel32/client/amd64/
- copied from r52737, trunk/reactos/dll/win32/kernel32/thread/amd64/
trunk/reactos/dll/win32/kernel32/client/debugger.c
- copied unchanged from r52737, trunk/reactos/dll/win32/kernel32/debug/debugger.c
trunk/reactos/dll/win32/kernel32/client/except.c
- copied unchanged from r52737, trunk/reactos/dll/win32/kernel32/except/except.c
trunk/reactos/dll/win32/kernel32/client/fiber.c
- copied unchanged from r52737, trunk/reactos/dll/win32/kernel32/thread/fiber.c
trunk/reactos/dll/win32/kernel32/client/file/
- copied from r52737, trunk/reactos/dll/win32/kernel32/file/
trunk/reactos/dll/win32/kernel32/client/heapmem.c
- copied unchanged from r52737, trunk/reactos/dll/win32/kernel32/mem/heap.c
trunk/reactos/dll/win32/kernel32/client/i386/
- copied from r52737, trunk/reactos/dll/win32/kernel32/thread/i386/
trunk/reactos/dll/win32/kernel32/client/job.c
- copied unchanged from r52737, trunk/reactos/dll/win32/kernel32/process/job.c
trunk/reactos/dll/win32/kernel32/client/misc/
- copied from r52737, trunk/reactos/dll/win32/kernel32/misc/
trunk/reactos/dll/win32/kernel32/client/proc.c
- copied unchanged from r52737, trunk/reactos/dll/win32/kernel32/process/proc.c
trunk/reactos/dll/win32/kernel32/client/session.c
- copied unchanged from r52737, trunk/reactos/dll/win32/kernel32/process/session.c
trunk/reactos/dll/win32/kernel32/client/synch.c
- copied unchanged from r52737, trunk/reactos/dll/win32/kernel32/synch/synch.c
trunk/reactos/dll/win32/kernel32/client/thread.c
- copied unchanged from r52737, trunk/reactos/dll/win32/kernel32/thread/thread.c
trunk/reactos/dll/win32/kernel32/client/virtmem.c
- copied unchanged from r52737, trunk/reactos/dll/win32/kernel32/mem/virtual.c
trunk/reactos/dll/win32/kernel32/client/vista.c
- copied unchanged from r52737, trunk/reactos/dll/win32/kernel32/vista/vista.c
trunk/reactos/dll/win32/kernel32/winnls/
trunk/reactos/dll/win32/kernel32/winnls/lang/
- copied from r52737, trunk/reactos/dll/win32/kernel32/lang/
trunk/reactos/dll/win32/kernel32/winnls/locale_rc.rc
- copied unchanged from r52737, trunk/reactos/dll/win32/kernel32/locale_rc.rc
trunk/reactos/dll/win32/kernel32/winnls/nls/
- copied from r52737, trunk/reactos/dll/win32/kernel32/nls/
trunk/reactos/dll/win32/kernel32/winnls/string/
- copied from r52737, trunk/reactos/dll/win32/kernel32/string/
Removed:
trunk/reactos/dll/win32/kernel32/debug/debugger.c
trunk/reactos/dll/win32/kernel32/except/except.c
trunk/reactos/dll/win32/kernel32/file/
trunk/reactos/dll/win32/kernel32/lang/
trunk/reactos/dll/win32/kernel32/locale_rc.rc
trunk/reactos/dll/win32/kernel32/mem/heap.c
trunk/reactos/dll/win32/kernel32/mem/virtual.c
trunk/reactos/dll/win32/kernel32/misc/
trunk/reactos/dll/win32/kernel32/nls/
trunk/reactos/dll/win32/kernel32/process/job.c
trunk/reactos/dll/win32/kernel32/process/proc.c
trunk/reactos/dll/win32/kernel32/process/session.c
trunk/reactos/dll/win32/kernel32/string/
trunk/reactos/dll/win32/kernel32/synch/synch.c
trunk/reactos/dll/win32/kernel32/thread/amd64/
trunk/reactos/dll/win32/kernel32/thread/fiber.c
trunk/reactos/dll/win32/kernel32/thread/i386/
trunk/reactos/dll/win32/kernel32/thread/thread.c
trunk/reactos/dll/win32/kernel32/vista/vista.c
Modified:
trunk/reactos/dll/win32/kernel32/CMakeLists.txt
trunk/reactos/dll/win32/kernel32/kernel32.rbuild
trunk/reactos/dll/win32/kernel32/kernel32.rc
[This mail would be too long, it was shortened to contain the URLs only.]
Modified: trunk/reactos/dll/win32/kernel32/CMakeLists.txt
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/CMakeLi…
Removed: trunk/reactos/dll/win32/kernel32/debug/debugger.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/debug/d…
Removed: trunk/reactos/dll/win32/kernel32/except/except.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/except/…
Modified: trunk/reactos/dll/win32/kernel32/kernel32.rbuild
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/kernel3…
Modified: trunk/reactos/dll/win32/kernel32/kernel32.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/kernel3…
Removed: trunk/reactos/dll/win32/kernel32/locale_rc.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/locale_…
Removed: trunk/reactos/dll/win32/kernel32/mem/heap.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/mem/hea…
Removed: trunk/reactos/dll/win32/kernel32/mem/virtual.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/mem/vir…
Removed: trunk/reactos/dll/win32/kernel32/process/job.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/process…
Removed: trunk/reactos/dll/win32/kernel32/process/proc.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/process…
Removed: trunk/reactos/dll/win32/kernel32/process/session.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/process…
Removed: trunk/reactos/dll/win32/kernel32/synch/synch.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/synch/s…
Removed: trunk/reactos/dll/win32/kernel32/thread/fiber.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/thread/…
Removed: trunk/reactos/dll/win32/kernel32/thread/thread.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/thread/…
Removed: trunk/reactos/dll/win32/kernel32/vista/vista.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/vista/v…