Rob Shearman : ole32: Process messages while waiting for a local server to create a pipe.
Alexandre Julliard
julliard at winehq.org
Fri Dec 7 13:19:11 CST 2007
Module: wine
Branch: master
Commit: 7ac980b1e7119ac93e6ba370c798681c9ae25b01
URL: http://source.winehq.org/git/wine.git/?a=commit;h=7ac980b1e7119ac93e6ba370c798681c9ae25b01
Author: Rob Shearman <rob at codeweavers.com>
Date: Fri Dec 7 14:45:16 2007 +0000
ole32: Process messages while waiting for a local server to create a pipe.
---
dlls/ole32/rpc.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/dlls/ole32/rpc.c b/dlls/ole32/rpc.c
index 40330d4..6760eb8 100644
--- a/dlls/ole32/rpc.c
+++ b/dlls/ole32/rpc.c
@@ -1725,15 +1725,15 @@ HRESULT RPC_GetLocalClassObject(REFCLSID rclsid, REFIID iid, LPVOID *ppv)
WaitNamedPipeW( pipefn, NMPWAIT_WAIT_FOREVER );
hPipe = CreateFileW(pipefn, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, 0);
if (hPipe == INVALID_HANDLE_VALUE) {
+ DWORD index;
if (tries == 1) {
if ( (hres = create_local_service(rclsid)) &&
(hres = create_server(rclsid)) )
return hres;
- Sleep(1000);
} else {
WARN("Connecting to %s, no response yet, retrying: le is %u\n", debugstr_w(pipefn), GetLastError());
- Sleep(1000);
}
+ CoWaitForMultipleHandles(0, 1000, 0, NULL, &index);
continue;
}
bufferlen = 0;
More information about the wine-cvs
mailing list