Rob Shearman : rpcrt4: Add some traces to async_notifier_proc.

Alexandre Julliard julliard at winehq.org
Fri Feb 15 05:35:49 CST 2008


Module: wine
Branch: master
Commit: 610c213f6d96c706883618040fcaedbf0259cf40
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=610c213f6d96c706883618040fcaedbf0259cf40

Author: Rob Shearman <rob at codeweavers.com>
Date:   Wed Feb 13 16:22:08 2008 +0000

rpcrt4: Add some traces to async_notifier_proc.

Make the test of the return value of wait_for_incoming_data less strict.

---

 dlls/rpcrt4/rpc_message.c |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/dlls/rpcrt4/rpc_message.c b/dlls/rpcrt4/rpc_message.c
index 068adf1..fda8867 100644
--- a/dlls/rpcrt4/rpc_message.c
+++ b/dlls/rpcrt4/rpc_message.c
@@ -1131,31 +1131,42 @@ static DWORD WINAPI async_notifier_proc(LPVOID p)
     RpcConnection *conn = p;
     RPC_ASYNC_STATE *state = conn->async_state;
 
-    if (state && !conn->ops->wait_for_incoming_data(conn))
+    if (state && conn->ops->wait_for_incoming_data(conn) != -1)
     {
         state->Event = RpcCallComplete;
         switch (state->NotificationType)
         {
         case RpcNotificationTypeEvent:
+            TRACE("RpcNotificationTypeEvent %p\n", state->u.hEvent);
             SetEvent(state->u.hEvent);
             break;
         case RpcNotificationTypeApc:
+            TRACE("RpcNotificationTypeApc %p\n", state->u.APC.hThread);
             QueueUserAPC(async_apc_notifier_proc, state->u.APC.hThread, (ULONG_PTR)state);
             break;
         case RpcNotificationTypeIoc:
+            TRACE("RpcNotificationTypeIoc %p, 0x%x, 0x%lx, %p\n",
+                state->u.IOC.hIOPort, state->u.IOC.dwNumberOfBytesTransferred,
+                state->u.IOC.dwCompletionKey, state->u.IOC.lpOverlapped);
             PostQueuedCompletionStatus(state->u.IOC.hIOPort,
                 state->u.IOC.dwNumberOfBytesTransferred,
                 state->u.IOC.dwCompletionKey,
                 state->u.IOC.lpOverlapped);
             break;
         case RpcNotificationTypeHwnd:
+            TRACE("RpcNotificationTypeHwnd %p 0x%x\n", state->u.HWND.hWnd,
+                state->u.HWND.Msg);
             PostMessageW(state->u.HWND.hWnd, state->u.HWND.Msg, 0, 0);
             break;
         case RpcNotificationTypeCallback:
+            TRACE("RpcNotificationTypeCallback %p\n", state->u.NotificationRoutine);
             state->u.NotificationRoutine(state, NULL, state->Event);
             break;
         case RpcNotificationTypeNone:
+            TRACE("RpcNotificationTypeNone\n");
+            break;
         default:
+            FIXME("unknown NotificationType: %d/0x%x\n", state->NotificationType, state->NotificationType);
             break;
         }
     }




More information about the wine-cvs mailing list