Author: hbelusca
Date: Mon Dec 22 19:50:00 2014
New Revision: 65798

URL: http://svn.reactos.org/svn/reactos?rev=65798&view=rev
Log:
[USERSRV]
- Reenable UserClientConnect callback, it's not the problematic code that made 
bots to fail at 3rd stage and caused r65716 to be committed.
- Put the system threads hack *after* having called NtUserInitialize (that 
really initializes user-kernel interface with win32k), and not before.

Modified:
    trunk/reactos/win32ss/user/winsrv/usersrv/init.c

Modified: trunk/reactos/win32ss/user/winsrv/usersrv/init.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/winsrv/usersrv/init.c?rev=65798&r1=65797&r2=65798&view=diff
==============================================================================
--- trunk/reactos/win32ss/user/winsrv/usersrv/init.c    [iso-8859-1] (original)
+++ trunk/reactos/win32ss/user/winsrv/usersrv/init.c    [iso-8859-1] Mon Dec 22 
19:50:00 2014
@@ -191,12 +191,7 @@
 
 CSR_SERVER_DLL_INIT(UserServerDllInitialization)
 {
-/*** From win32csr... ***/
-    HANDLE ServerThread;
-    CLIENT_ID ClientId;
     NTSTATUS Status;
-    UINT i;
-/*** END - From win32csr... ***/
 
     /* Initialize the memory */
     UserServerHeap = RtlGetProcessHeap();
@@ -210,36 +205,12 @@
     LoadedServerDll->NameTable = UserServerApiNameTable;
 #endif
     LoadedServerDll->SizeOfProcessData = 0;
-#if 0
     LoadedServerDll->ConnectCallback = UserClientConnect;
-#else
-    LoadedServerDll->ConnectCallback = NULL;
-#endif
     LoadedServerDll->DisconnectCallback = NULL;
     LoadedServerDll->HardErrorCallback = UserServerHardError;
     LoadedServerDll->ShutdownProcessCallback = UserClientShutdown;
 
     UserServerDllInstance = LoadedServerDll->ServerHandle;
-
-/*** From win32csr... See r54125 ***/
-    /* Start the Raw Input Thread and the Desktop Thread */
-    for (i = 0; i < 2; ++i)
-    {
-        Status = RtlCreateUserThread(NtCurrentProcess(),
-                                     NULL, TRUE, 0, 0, 0,
-                                     CreateSystemThreads,
-                                     (PVOID)i, &ServerThread, &ClientId);
-        if (NT_SUCCESS(Status))
-        {
-            NtResumeThread(ServerThread, NULL);
-            NtClose(ServerThread);
-        }
-        else
-        {
-            DPRINT1("Cannot start Raw Input Thread!\n");
-        }
-    }
-/*** END - From win32csr... ***/
 
     /* Create the power request event */
     Status = NtCreateEvent(&ghPowerRequestEvent,
@@ -278,6 +249,32 @@
         return Status;
     }
 
+/*** From win32csr... See r54125 ***/
+    {
+        HANDLE ServerThread;
+        CLIENT_ID ClientId;
+        UINT i;
+
+        /* Start the Raw Input Thread and the Desktop Thread */
+        for (i = 0; i < 2; ++i)
+        {
+            Status = RtlCreateUserThread(NtCurrentProcess(),
+                                         NULL, TRUE, 0, 0, 0,
+                                         CreateSystemThreads,
+                                         (PVOID)i, &ServerThread, &ClientId);
+            if (NT_SUCCESS(Status))
+            {
+                NtResumeThread(ServerThread, NULL);
+                NtClose(ServerThread);
+            }
+            else
+            {
+                DPRINT1("Cannot start Raw Input Thread!\n");
+            }
+        }
+    }
+/*** END - From win32csr... ***/
+
     /* All done */
     return STATUS_SUCCESS;
 }


Reply via email to