diff options
Diffstat (limited to 'src/corelib/io/qwindowspipereader.cpp')
-rw-r--r-- | src/corelib/io/qwindowspipereader.cpp | 17 |
1 files changed, 1 insertions, 16 deletions
diff --git a/src/corelib/io/qwindowspipereader.cpp b/src/corelib/io/qwindowspipereader.cpp index 15fb276be9..b8df8e8084 100644 --- a/src/corelib/io/qwindowspipereader.cpp +++ b/src/corelib/io/qwindowspipereader.cpp @@ -71,21 +71,6 @@ QWindowsPipeReader::QWindowsPipeReader(QObject *parent) this, &QWindowsPipeReader::emitPendingReadyRead, Qt::QueuedConnection); } -bool qt_cancelIo(HANDLE handle, OVERLAPPED *overlapped) -{ - typedef BOOL (WINAPI *PtrCancelIoEx)(HANDLE, LPOVERLAPPED); - static PtrCancelIoEx ptrCancelIoEx = 0; - if (!ptrCancelIoEx) { - HMODULE kernel32 = GetModuleHandleA("kernel32"); - if (kernel32) - ptrCancelIoEx = PtrCancelIoEx(GetProcAddress(kernel32, "CancelIoEx")); - } - if (ptrCancelIoEx) - return ptrCancelIoEx(handle, overlapped); - else - return CancelIo(handle); -} - QWindowsPipeReader::~QWindowsPipeReader() { stop(); @@ -110,7 +95,7 @@ void QWindowsPipeReader::stop() { stopped = true; if (readSequenceStarted) { - if (!qt_cancelIo(handle, &overlapped)) { + if (!CancelIoEx(handle, &overlapped)) { const DWORD dwError = GetLastError(); if (dwError != ERROR_NOT_FOUND) { qErrnoWarning(dwError, "QWindowsPipeReader: qt_cancelIo on handle %x failed.", |