Author: hbelusca
Date: Tue Jun 17 20:51:04 2014
New Revision: 63612
URL:
http://svn.reactos.org/svn/reactos?rev=63612&view=rev
Log:
[WIN32K]
The winstation spinlock is a leftover of some old code. It can be removed.
<+smiley1_> hbelusca: yeah the spinlock should be removed
<@hbelusca> smiley1_ - was it from old code?
<+smiley1_> hbelusca: go on
Modified:
trunk/reactos/win32ss/user/ntuser/winsta.c
trunk/reactos/win32ss/user/ntuser/winsta.h
Modified: trunk/reactos/win32ss/user/ntuser/winsta.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/ntuser/winsta…
==============================================================================
--- trunk/reactos/win32ss/user/ntuser/winsta.c [iso-8859-1] (original)
+++ trunk/reactos/win32ss/user/ntuser/winsta.c [iso-8859-1] Tue Jun 17 20:51:04 2014
@@ -451,9 +451,6 @@
/* Initialize the window station */
RtlZeroMemory(WindowStationObject, sizeof(WINSTATION_OBJECT));
-#ifdef USE_WINSTA_LOCK
- KeInitializeSpinLock(&WindowStationObject->Lock);
-#endif
InitializeListHead(&WindowStationObject->DesktopListHead);
Status = RtlCreateAtomTable(37, &WindowStationObject->AtomTable);
WindowStationObject->Name = WindowStationName;
@@ -1205,9 +1202,6 @@
{
NTSTATUS Status;
PWINSTATION_OBJECT WindowStation;
-#ifdef USE_WINSTA_LOCK
- KIRQL OldLevel;
-#endif
PLIST_ENTRY DesktopEntry;
PDESKTOP DesktopObject;
DWORD EntryCount;
@@ -1223,10 +1217,6 @@
{
return Status;
}
-
-#ifdef USE_WINSTA_LOCK
- KeAcquireSpinLock(&WindowStation->Lock, &OldLevel);
-#endif
/*
* Count the required size of buffer.
@@ -1248,9 +1238,6 @@
Status = MmCopyToCaller(pRequiredSize, &ReturnLength, sizeof(ULONG));
if (! NT_SUCCESS(Status))
{
-#ifdef USE_WINSTA_LOCK
- KeReleaseSpinLock(&WindowStation->Lock, OldLevel);
-#endif
ObDereferenceObject(WindowStation);
return STATUS_BUFFER_TOO_SMALL;
}
@@ -1261,9 +1248,6 @@
*/
if (dwSize < ReturnLength)
{
-#ifdef USE_WINSTA_LOCK
- KeReleaseSpinLock(&WindowStation->Lock, OldLevel);
-#endif
ObDereferenceObject(WindowStation);
return STATUS_BUFFER_TOO_SMALL;
}
@@ -1274,9 +1258,6 @@
Status = MmCopyToCaller(lpBuffer, &EntryCount, sizeof(DWORD));
if (! NT_SUCCESS(Status))
{
-#ifdef USE_WINSTA_LOCK
- KeReleaseSpinLock(&WindowStation->Lock, OldLevel);
-#endif
ObDereferenceObject(WindowStation);
return Status;
}
@@ -1292,9 +1273,6 @@
Status = MmCopyToCaller(lpBuffer, DesktopName.Buffer, DesktopName.Length);
if (! NT_SUCCESS(Status))
{
-#ifdef USE_WINSTA_LOCK
- KeReleaseSpinLock(&WindowStation->Lock, OldLevel);
-#endif
ObDereferenceObject(WindowStation);
return Status;
}
@@ -1302,9 +1280,6 @@
Status = MmCopyToCaller(lpBuffer, &NullWchar, sizeof(WCHAR));
if (! NT_SUCCESS(Status))
{
-#ifdef USE_WINSTA_LOCK
- KeReleaseSpinLock(&WindowStation->Lock, OldLevel);
-#endif
ObDereferenceObject(WindowStation);
return Status;
}
@@ -1312,13 +1287,9 @@
}
/*
- * Clean up
+ * Clean up and return
*/
-#ifdef USE_WINSTA_LOCK
- KeReleaseSpinLock(&WindowStation->Lock, OldLevel);
-#endif
ObDereferenceObject(WindowStation);
-
return STATUS_SUCCESS;
}
Modified: trunk/reactos/win32ss/user/ntuser/winsta.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/ntuser/winsta…
==============================================================================
--- trunk/reactos/win32ss/user/ntuser/winsta.h [iso-8859-1] (original)
+++ trunk/reactos/win32ss/user/ntuser/winsta.h [iso-8859-1] Tue Jun 17 20:51:04 2014
@@ -7,16 +7,10 @@
#define WSS_LOCKED (1)
#define WSS_NOINTERACTIVE (2)
-// Uncomment for using WinSta spinlock
-// #define USE_WINSTA_LOCK
-
typedef struct _WINSTATION_OBJECT
{
DWORD dwSessionId;
-#ifdef USE_WINSTA_LOCK
- KSPIN_LOCK Lock;
-#endif
UNICODE_STRING Name;
LIST_ENTRY DesktopListHead;
PRTL_ATOM_TABLE AtomTable;