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.c?rev=63612&r1=63611&r2=63612&view=diff
==============================================================================
--- 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.h?rev=63612&r1=63611&r2=63612&view=diff
==============================================================================
--- 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;


Reply via email to