|
Boost : |
From: berserker_r (berserker_r_at_[hidden])
Date: 2006-11-17 09:45:29
Christopher Kohlhoff wrote:
> @@ -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.
Thanks again, but I cannot make it works: same problem as before...
Maybe I'll try the CVS version when you will confirm it's fixed.
Bye
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk