ole32: Process messages while waiting for a local server to create a pipe.

This commit is contained in:
Rob Shearman 2007-12-07 14:45:16 +00:00 committed by Alexandre Julliard
parent c0b12351e0
commit 7ac980b1e7
1 changed files with 2 additions and 2 deletions

View File

@ -1725,15 +1725,15 @@ HRESULT RPC_GetLocalClassObject(REFCLSID rclsid, REFIID iid, LPVOID *ppv)
WaitNamedPipeW( pipefn, NMPWAIT_WAIT_FOREVER ); WaitNamedPipeW( pipefn, NMPWAIT_WAIT_FOREVER );
hPipe = CreateFileW(pipefn, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, 0); hPipe = CreateFileW(pipefn, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, 0);
if (hPipe == INVALID_HANDLE_VALUE) { if (hPipe == INVALID_HANDLE_VALUE) {
DWORD index;
if (tries == 1) { if (tries == 1) {
if ( (hres = create_local_service(rclsid)) && if ( (hres = create_local_service(rclsid)) &&
(hres = create_server(rclsid)) ) (hres = create_server(rclsid)) )
return hres; return hres;
Sleep(1000);
} else { } else {
WARN("Connecting to %s, no response yet, retrying: le is %u\n", debugstr_w(pipefn), GetLastError()); 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; continue;
} }
bufferlen = 0; bufferlen = 0;