From 29e2005ce7c60a37e992962b1f9413f7a055fca9 Mon Sep 17 00:00:00 2001 From: Sean Hefty Date: Mon, 13 Sep 2010 16:58:25 -0700 Subject: [PATCH] refresh --- meta | 7 +++--- patches/overlap | 51 +++++++++++++++++++++++++++++++++++++-- patches/refresh-temp | 57 -------------------------------------------- 3 files changed, 52 insertions(+), 63 deletions(-) delete mode 100644 patches/refresh-temp diff --git a/meta b/meta index 0b47abc9..4999b5b1 100644 --- a/meta +++ b/meta @@ -1,9 +1,8 @@ Version: 1 -Previous: ec217324b1bc81567fe31a8e5104445cf0982243 -Head: 8ffaf5c4649c437b43c246811da9cf5764a81c48 +Previous: f70f9d985373d7260580f5a26447c39a1d456a35 +Head: dfe75689835ce5dc1dbe80fd8c8ca144db6383b9 Applied: - overlap: f33070dd0187ac0cc355e47fd0c97f5de243f0af - refresh-temp: 8ffaf5c4649c437b43c246811da9cf5764a81c48 + overlap: dfe75689835ce5dc1dbe80fd8c8ca144db6383b9 Unapplied: dapl-qp: 57f50f5e232bbdddff67fc4dae43c66cfce81c5e sync: 452ce3b051e10e10363baa77834962a89267e052 diff --git a/patches/overlap b/patches/overlap index d649ed7e..df32d9b5 100644 --- a/patches/overlap +++ b/patches/overlap @@ -1,5 +1,5 @@ Bottom: e0a336baf5ecfc37b867ad87df4aa629ac448200 -Top: e0a336baf5ecfc37b867ad87df4aa629ac448200 +Top: 36dee46c5c03ab4e2ac1008814d7311674a56669 Author: Sean Hefty Date: 2010-09-13 16:00:30 -0700 @@ -13,4 +13,51 @@ Signed-off-by: Sean Hefty --- - +diff --git a/trunk/core/winmad/user/wm_provider.cpp b/trunk/core/winmad/user/wm_provider.cpp +index 7b026ea..064b098 100644 +--- a/trunk/core/winmad/user/wm_provider.cpp ++++ b/trunk/core/winmad/user/wm_provider.cpp +@@ -134,11 +134,14 @@ WmDeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode, + + if (lpOverlapped == NULL) { + EnterCriticalSection(&m_CritSecWrite); +- DeviceIoControl(hDevice, dwIoControlCode, +- lpInBuffer, nInBufferSize, +- lpOutBuffer, nOutBufferSize, +- lpBytesReturned, &m_OverlapWrite); +- ret = ::GetOverlappedResult(m_hFile, &m_OverlapWrite, lpBytesReturned, TRUE); ++ ret = DeviceIoControl(hDevice, dwIoControlCode, ++ lpInBuffer, nInBufferSize, ++ lpOutBuffer, nOutBufferSize, ++ lpBytesReturned, &m_OverlapWrite); ++ if (!ret && GetLastError() == ERROR_IO_PENDING) { ++ ret = ::GetOverlappedResult(m_hFile, &m_OverlapWrite, ++ lpBytesReturned, TRUE); ++ } + LeaveCriticalSection(&m_CritSecWrite); + } else { + ret = DeviceIoControl(hDevice, dwIoControlCode, +diff --git a/trunk/core/winverbs/user/wv_base.cpp b/trunk/core/winverbs/user/wv_base.cpp +index 5ed4e9f..e231ec3 100644 +--- a/trunk/core/winverbs/user/wv_base.cpp ++++ b/trunk/core/winverbs/user/wv_base.cpp +@@ -89,12 +89,13 @@ WvDeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode, + + if (lpOverlapped == NULL) { + EnterCriticalSection(&m_CritSec); +- DeviceIoControl(hDevice, dwIoControlCode, +- lpInBuffer, nInBufferSize, +- lpOutBuffer, nOutBufferSize, +- lpBytesReturned, &m_Overlap); +- +- ret = GetOverlappedResult(hDevice, &m_Overlap, lpBytesReturned, TRUE); ++ ret = DeviceIoControl(hDevice, dwIoControlCode, ++ lpInBuffer, nInBufferSize, ++ lpOutBuffer, nOutBufferSize, ++ lpBytesReturned, &m_Overlap); ++ if (!ret && GetLastError() == ERROR_IO_PENDING) { ++ ret = GetOverlappedResult(hDevice, &m_Overlap, lpBytesReturned, TRUE); ++ } + LeaveCriticalSection(&m_CritSec); + } else { + ret = DeviceIoControl(hDevice, dwIoControlCode, diff --git a/patches/refresh-temp b/patches/refresh-temp deleted file mode 100644 index 0c159c02..00000000 --- a/patches/refresh-temp +++ /dev/null @@ -1,57 +0,0 @@ -Bottom: e0a336baf5ecfc37b867ad87df4aa629ac448200 -Top: 36dee46c5c03ab4e2ac1008814d7311674a56669 -Author: Sean Hefty -Date: 2010-09-13 16:58:20 -0700 - -Refresh of overlap - ---- - -diff --git a/trunk/core/winmad/user/wm_provider.cpp b/trunk/core/winmad/user/wm_provider.cpp -index 7b026ea..064b098 100644 ---- a/trunk/core/winmad/user/wm_provider.cpp -+++ b/trunk/core/winmad/user/wm_provider.cpp -@@ -134,11 +134,14 @@ WmDeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode, - - if (lpOverlapped == NULL) { - EnterCriticalSection(&m_CritSecWrite); -- DeviceIoControl(hDevice, dwIoControlCode, -- lpInBuffer, nInBufferSize, -- lpOutBuffer, nOutBufferSize, -- lpBytesReturned, &m_OverlapWrite); -- ret = ::GetOverlappedResult(m_hFile, &m_OverlapWrite, lpBytesReturned, TRUE); -+ ret = DeviceIoControl(hDevice, dwIoControlCode, -+ lpInBuffer, nInBufferSize, -+ lpOutBuffer, nOutBufferSize, -+ lpBytesReturned, &m_OverlapWrite); -+ if (!ret && GetLastError() == ERROR_IO_PENDING) { -+ ret = ::GetOverlappedResult(m_hFile, &m_OverlapWrite, -+ lpBytesReturned, TRUE); -+ } - LeaveCriticalSection(&m_CritSecWrite); - } else { - ret = DeviceIoControl(hDevice, dwIoControlCode, -diff --git a/trunk/core/winverbs/user/wv_base.cpp b/trunk/core/winverbs/user/wv_base.cpp -index 5ed4e9f..e231ec3 100644 ---- a/trunk/core/winverbs/user/wv_base.cpp -+++ b/trunk/core/winverbs/user/wv_base.cpp -@@ -89,12 +89,13 @@ WvDeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode, - - if (lpOverlapped == NULL) { - EnterCriticalSection(&m_CritSec); -- DeviceIoControl(hDevice, dwIoControlCode, -- lpInBuffer, nInBufferSize, -- lpOutBuffer, nOutBufferSize, -- lpBytesReturned, &m_Overlap); -- -- ret = GetOverlappedResult(hDevice, &m_Overlap, lpBytesReturned, TRUE); -+ ret = DeviceIoControl(hDevice, dwIoControlCode, -+ lpInBuffer, nInBufferSize, -+ lpOutBuffer, nOutBufferSize, -+ lpBytesReturned, &m_Overlap); -+ if (!ret && GetLastError() == ERROR_IO_PENDING) { -+ ret = GetOverlappedResult(hDevice, &m_Overlap, lpBytesReturned, TRUE); -+ } - LeaveCriticalSection(&m_CritSec); - } else { - ret = DeviceIoControl(hDevice, dwIoControlCode, -- 2.46.0