Module: wine Branch: master Commit: 610c213f6d96c706883618040fcaedbf0259cf40 URL: http://source.winehq.org/git/wine.git/?a=commit;h=610c213f6d96c706883618040f...
Author: Rob Shearman rob@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; } }