ole32: Process messages while waiting for a local server to create a pipe.
This commit is contained in:
parent
c0b12351e0
commit
7ac980b1e7
|
@ -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;
|
||||||
|
|
Loading…
Reference in New Issue