Boost logo

Boost Users :

From: Roman Neuhauser (neuhauser_at_[hidden])
Date: 2006-10-30 13:42:41


# chhenning_at_[hidden] / 2006-10-30 09:49:31 -0500:
> On 10/30/06, Christopher Kohlhoff <chris_at_[hidden]> wrote:
> > Can you please try the following change to
> > asio/detail/win_iocp_io_service.hpp:
> >
> > @@ -74,10 +74,11 @@
> > DWORD_PTR completion_key = 0;
> > #endif
> > LPOVERLAPPED overlapped = 0;
> > - ::GetQueuedCompletionStatus(iocp_.handle,
> > + ::SetLastError(0);
> > + BOOL ok = ::GetQueuedCompletionStatus(iocp_.handle,
> > &bytes_transferred, &completion_key, &overlapped, 0);
> > DWORD last_error = ::GetLastError();
> > - if (last_error == WAIT_TIMEOUT)
> > + if (!ok && overlapped == 0 && last_error == WAIT_TIMEOUT)
> > break;
> > if (overlapped)
> > static_cast<operation*>(overlapped)->destroy();
> >
>
> This is most likely offtopic, but how do apply that patch to a source
> file? Have never done that. Is there a program I should use?

    Diffs (or patches, these are synonyms) are applied with a program
    called "patch". The text above is only a fragment of a complete
    diff, and patch won't process it. Your best bet is to "apply" it by
    hand: replace the lines marked with "-" with those beginning with
    "+". The block displayed above begins on line 74 in
    asio/detail/win_iocp_io_service.hpp.

-- 
How many Vietnam vets does it take to screw in a light bulb?
You don't know, man.  You don't KNOW.
Cause you weren't THERE.             http://bash.org/?255991

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net