Author: janderwald Date: Fri Feb 2 00:44:23 2007 New Revision: 25671
URL: http://svn.reactos.org/svn/reactos?rev=25671&view=rev Log: - Compile csrss with intrinsics - Remove the intrlck dependency
Modified: trunk/reactos/subsystems/win32/csrss/api/handle.c trunk/reactos/subsystems/win32/csrss/csrss.h trunk/reactos/subsystems/win32/csrss/csrss.rbuild
Modified: trunk/reactos/subsystems/win32/csrss/api/handle.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/csrss/api/... ============================================================================== --- trunk/reactos/subsystems/win32/csrss/api/handle.c (original) +++ trunk/reactos/subsystems/win32/csrss/api/handle.c Fri Feb 2 00:44:23 2007 @@ -88,7 +88,7 @@ unsigned DefIndex;
/* dec ref count */ - if (InterlockedDecrement(&Object->ReferenceCount) == 0) + if (_InterlockedDecrement(&Object->ReferenceCount) == 0) { Found = FALSE; for (DefIndex = 0; ! Found && DefIndex < ObjectDefinitionsCount; DefIndex++) @@ -166,13 +166,13 @@ RtlCopyMemory(Block, ProcessData->HandleTable, ProcessData->HandleTableSize * sizeof(HANDLE)); - Block = InterlockedExchangePointer(&ProcessData->HandleTable, Block); + Block = _InterlockedExchangePointer((volatile void*)&ProcessData->HandleTable, Block); RtlFreeHeap( CsrssApiHeap, 0, Block ); ProcessData->HandleTableSize += 64; } ProcessData->HandleTable[i] = Object; *Handle = (HANDLE)(((i + 1) << 2) | 0x3); - InterlockedIncrement( &Object->ReferenceCount ); + _InterlockedIncrement( &Object->ReferenceCount ); RtlLeaveCriticalSection(&ProcessData->HandleTableLock); return(STATUS_SUCCESS); } @@ -207,7 +207,7 @@ if (SourceProcessData->HandleTable[i]) { TargetProcessData->HandleTable[i] = SourceProcessData->HandleTable[i]; - InterlockedIncrement( &SourceProcessData->HandleTable[i]->ReferenceCount ); + _InterlockedIncrement( &SourceProcessData->HandleTable[i]->ReferenceCount ); } } RtlLeaveCriticalSection(&SourceProcessData->HandleTableLock);
Modified: trunk/reactos/subsystems/win32/csrss/csrss.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/csrss/csrs... ============================================================================== --- trunk/reactos/subsystems/win32/csrss/csrss.h (original) +++ trunk/reactos/subsystems/win32/csrss/csrss.h Fri Feb 2 00:44:23 2007 @@ -4,6 +4,8 @@ #include <windows.h> #define NTOS_MODE_USER #include <ndk/ntndk.h> + +#include <intrin.h>
/* Build Number */ #include <reactos/buildno.h>
Modified: trunk/reactos/subsystems/win32/csrss/csrss.rbuild URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/csrss/csrs... ============================================================================== --- trunk/reactos/subsystems/win32/csrss/csrss.rbuild (original) +++ trunk/reactos/subsystems/win32/csrss/csrss.rbuild Fri Feb 2 00:44:23 2007 @@ -10,7 +10,6 @@ <define name="NTLPC" /> </if> <library>nt</library> - <library>intrlck</library> <library>ntdll</library> <library>smdll</library> <directory name="api">