[ros-diffs] [fireball] 46755: - Add thread termination cleanup (destroying windows, freeing a message queue, dereferencing its desktop).

fireball at svn.reactos.org fireball at svn.reactos.org
Tue Apr 6 23:30:30 CEST 2010


Author: fireball
Date: Tue Apr  6 23:30:29 2010
New Revision: 46755

URL: http://svn.reactos.org/svn/reactos?rev=46755&view=rev
Log:
- Add thread termination cleanup (destroying windows, freeing a message queue, dereferencing its desktop).

Modified:
    branches/arwinss/reactos/subsystems/win32/win32k/main/init.c

Modified: branches/arwinss/reactos/subsystems/win32/win32k/main/init.c
URL: http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win32/win32k/main/init.c?rev=46755&r1=46754&r2=46755&view=diff
==============================================================================
--- branches/arwinss/reactos/subsystems/win32/win32k/main/init.c [iso-8859-1] (original)
+++ branches/arwinss/reactos/subsystems/win32/win32k/main/init.c [iso-8859-1] Tue Apr  6 23:30:29 2010
@@ -153,6 +153,15 @@
     else
     {
         DPRINT("Destroying W32 thread TID:%d at IRQ level: %lu\n", Thread->Tcb.Teb->ClientId.UniqueThread, KeGetCurrentIrql());
+
+        /* USER thread-level cleanup */
+        UserEnterExclusive();
+            //cleanup_clipboard_thread();
+            destroy_thread_windows(Win32Thread);
+            free_msg_queue(Win32Thread);
+            close_thread_desktop(Win32Thread);
+        UserLeave();
+
         PsSetThreadWin32Thread(Thread, NULL);
     }
 




More information about the Ros-diffs mailing list