Boost logo

Boost :

From: Christopher Kohlhoff (chris_at_[hidden])
Date: 2006-11-17 07:02:23


berserker_r <berserker_r_at_[hidden]> wrote: > I'm using 0.3.7 with boost 1.33.1. Try this change to win_iocp_io_service.hpp in addition to the previous patch: @@ -125,10 +125,13 @@ #endif LPOVERLAPPED overlapped = 0; ::SetLastError(0); - ::GetQueuedCompletionStatus(iocp_.handle, &bytes_transferred, - &completion_key, &overlapped, INFINITE); + BOOL ok = ::GetQueuedCompletionStatus(iocp_.handle, + &bytes_transferred, &completion_key, &overlapped, 1000); DWORD last_error = ::GetLastError(); + if (!ok && overlapped == 0 && last_error == WAIT_TIMEOUT) + continue; + if (overlapped) { // We may have been passed a last_error value in the completion_key. Note that I haven't tested that it even compiles. Cheers, Chris


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk