Ticket #9122: win_iocp_handle_service.ipp.2.patch
File win_iocp_handle_service.ipp.2.patch, 1.5 KB (added by , 9 years ago) |
---|
-
win_iocp_handle_service.ipp
366 366 } 367 367 else 368 368 { 369 DWORD bytes_transferred = 0;370 369 op->Offset = offset & 0xFFFFFFFF; 371 370 op->OffsetHigh = (offset >> 32) & 0xFFFFFFFF; 372 371 BOOL ok = ::WriteFile(impl.handle_, 373 372 boost::asio::buffer_cast<LPCVOID>(buffer), 374 373 static_cast<DWORD>(boost::asio::buffer_size(buffer)), 375 &bytes_transferred, op);374 NULL, op); 376 375 DWORD last_error = ::GetLastError(); 377 376 if (!ok && last_error != ERROR_IO_PENDING 378 377 && last_error != ERROR_MORE_DATA) 379 378 { 380 iocp_service_.on_completion(op, last_error, bytes_transferred);379 iocp_service_.on_completion(op, last_error, 0); 381 380 } 382 381 else 383 382 { … … 474 473 } 475 474 else 476 475 { 477 DWORD bytes_transferred = 0;478 476 op->Offset = offset & 0xFFFFFFFF; 479 477 op->OffsetHigh = (offset >> 32) & 0xFFFFFFFF; 480 478 BOOL ok = ::ReadFile(impl.handle_, 481 479 boost::asio::buffer_cast<LPVOID>(buffer), 482 480 static_cast<DWORD>(boost::asio::buffer_size(buffer)), 483 &bytes_transferred, op);481 NULL, op); 484 482 DWORD last_error = ::GetLastError(); 485 483 if (!ok && last_error != ERROR_IO_PENDING 486 484 && last_error != ERROR_MORE_DATA) 487 485 { 488 iocp_service_.on_completion(op, last_error, bytes_transferred);486 iocp_service_.on_completion(op, last_error, 0); 489 487 } 490 488 else 491 489 {