Hi!
The experiment failed. I already tested this last night. We allocate
in co_IntDoSendMessage and doing it again made things worse and the
system ran out of memory. ATM we are eating a lot of page pool and
that is why win32k kicks out before the stack is full, when inside a
message recursion. Still need to reposition IntCallWndProc/Ret when
calling the client.
Thanks,
James
PS. Good info!
On Fri, Nov 4, 2011 at 12:43 PM, Giannis Adamopoulos
<giannis.adamopoulos(a)reactos.org> wrote:
Hi there,
this document describes how messages are marshaled in win32k:
http://mista.nu/blog/2011/02/11/thread-desynchronization-issues-in-windows-…
imo SendMessage should works fine now. this is how it should work: in case we send the
message to the same thread, call hooks, and call the window proc . Calling the window proc
requires to pack the parameters. If we send the message to another process we queue the
message and when the other process gets the message, it packs it in order to give it to
user mode. ie: packing is only needed when we marshal a message from kernel mode to user
mode.