[Win32k]
authorJames Tabor <james.tabor@reactos.org>
Thu, 18 Dec 2014 23:45:11 +0000 (23:45 +0000)
committerJames Tabor <james.tabor@reactos.org>
Thu, 18 Dec 2014 23:45:11 +0000 (23:45 +0000)
commitb037edeae8fc359fb880108af9e951cf98e49fd5
treea9dba5e24f52b881c6186f614abf0ac2f8d7cf8e
parent9bc240e8326237b369936a4eb820b61fccecd42c
[Win32k]
- Crash is due to receiving an APC for the current sending thread. Prematurely freeing the data block and while the receiving thread did not have a chance to process it. Interception and calling back to user mode will allow thread to go away. What about the memory block, is it still allocated? A cleaver Hack can fix this, but still the application crashed leaving issues and trash laying about. See CORE-8779.

Reference:
http://msdn.microsoft.com/en-us/library/windows/hardware/ff565592(v=vs.85).aspx
"Yes, for thread termination. No, for user APCs."

svn path=/trunk/; revision=65744
reactos/win32ss/include/callback.h
reactos/win32ss/user/ntuser/callback.c
reactos/win32ss/user/ntuser/callback.h
reactos/win32ss/user/ntuser/msgqueue.c
reactos/win32ss/user/user32/misc/dllmain.c