Ticket #9122: win_iocp_handle_service.ipp.2.patch

File win_iocp_handle_service.ipp.2.patch, 1.5 KB (added by smueller@…, 9 years ago)

patch from SVN head

  • win_iocp_handle_service.ipp

     
    366366  }
    367367  else
    368368  {
    369     DWORD bytes_transferred = 0;
    370369    op->Offset = offset & 0xFFFFFFFF;
    371370    op->OffsetHigh = (offset >> 32) & 0xFFFFFFFF;
    372371    BOOL ok = ::WriteFile(impl.handle_,
    373372        boost::asio::buffer_cast<LPCVOID>(buffer),
    374373        static_cast<DWORD>(boost::asio::buffer_size(buffer)),
    375         &bytes_transferred, op);
     374        NULL, op);
    376375    DWORD last_error = ::GetLastError();
    377376    if (!ok && last_error != ERROR_IO_PENDING
    378377        && last_error != ERROR_MORE_DATA)
    379378    {
    380       iocp_service_.on_completion(op, last_error, bytes_transferred);
     379      iocp_service_.on_completion(op, last_error, 0);
    381380    }
    382381    else
    383382    {
     
    474473  }
    475474  else
    476475  {
    477     DWORD bytes_transferred = 0;
    478476    op->Offset = offset & 0xFFFFFFFF;
    479477    op->OffsetHigh = (offset >> 32) & 0xFFFFFFFF;
    480478    BOOL ok = ::ReadFile(impl.handle_,
    481479        boost::asio::buffer_cast<LPVOID>(buffer),
    482480        static_cast<DWORD>(boost::asio::buffer_size(buffer)),
    483         &bytes_transferred, op);
     481        NULL, op);
    484482    DWORD last_error = ::GetLastError();
    485483    if (!ok && last_error != ERROR_IO_PENDING
    486484        && last_error != ERROR_MORE_DATA)
    487485    {
    488       iocp_service_.on_completion(op, last_error, bytes_transferred);
     486      iocp_service_.on_completion(op, last_error, 0);
    489487    }
    490488    else
    491489    {