diff options
-rw-r--r-- | src/corelib/io/qwindowspipereader.cpp | 17 | ||||
-rw-r--r-- | src/corelib/io/qwindowspipewriter.cpp | 5 |
2 files changed, 2 insertions, 20 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.", diff --git a/src/corelib/io/qwindowspipewriter.cpp b/src/corelib/io/qwindowspipewriter.cpp index ab179641f8..64c9692e23 100644 --- a/src/corelib/io/qwindowspipewriter.cpp +++ b/src/corelib/io/qwindowspipewriter.cpp @@ -42,9 +42,6 @@ QT_BEGIN_NAMESPACE -extern bool qt_cancelIo(HANDLE handle, OVERLAPPED *overlapped); // from qwindowspipereader.cpp - - QWindowsPipeWriter::Overlapped::Overlapped(QWindowsPipeWriter *pipeWriter) : pipeWriter(pipeWriter) { @@ -209,7 +206,7 @@ void QWindowsPipeWriter::stop() { stopped = true; if (writeSequenceStarted) { - if (!qt_cancelIo(handle, &overlapped)) { + if (!CancelIoEx(handle, &overlapped)) { const DWORD dwError = GetLastError(); if (dwError != ERROR_NOT_FOUND) { qErrnoWarning(dwError, "QWindowsPipeWriter: qt_cancelIo on handle %x failed.", |