http://bugs.winehq.org/show_bug.cgi?id=16550
Summary: ConnectNamedPort should never return OK in overlapped mode Product: Wine Version: 1.1.10 Platform: Other URL: http://chromium.org OS/Version: other Status: NEW Keywords: download Severity: normal Priority: P2 Component: kernel32 AssignedTo: wine-bugs@winehq.org ReportedBy: dank@kegel.com
Chromium contains the following code in http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/ipc_channel_wi...
BOOL ok = ConnectNamedPipe(pipe_, &input_state_.context.overlapped);
DWORD err = GetLastError(); if (ok) { // Uhm, the API documentation says that this function should never // return success when used in overlapped mode. NOTREACHED(); return false; }
switch (err) { case ERROR_IO_PENDING: input_state_.is_pending = true; break; case ERROR_PIPE_CONNECTED: waiting_connect_ = false; break; default: NOTREACHED(); return false; }
This triggers, for instance, if you build and run Debug/ui_tests.exe: [1217/155712:FATAL:ipc_channel_win.cc(206)] Check failed: false.
The obvious one-line change to our ConnectNamedPipe lets the test get further. I'll post a patch once I have a test case.