ignore EOF error from readv() in unaligned_write
This commit is contained in:
@@ -1344,6 +1344,7 @@ ret:
|
|||||||
|
|
||||||
size_type actual_file_size = file_handle->get_size(ec);
|
size_type actual_file_size = file_handle->get_size(ec);
|
||||||
if (ec && ec != make_error_code(boost::system::errc::no_such_file_or_directory)) return -1;
|
if (ec && ec != make_error_code(boost::system::errc::no_such_file_or_directory)) return -1;
|
||||||
|
ec.clear();
|
||||||
|
|
||||||
// allocate a temporary, aligned, buffer
|
// allocate a temporary, aligned, buffer
|
||||||
aligned_holder aligned_buf(aligned_size);
|
aligned_holder aligned_buf(aligned_size);
|
||||||
@@ -1352,11 +1353,8 @@ ret:
|
|||||||
if (aligned_start < actual_file_size && !ec)
|
if (aligned_start < actual_file_size && !ec)
|
||||||
{
|
{
|
||||||
size_type ret = file_handle->readv(aligned_start, &b, 1, ec);
|
size_type ret = file_handle->readv(aligned_start, &b, 1, ec);
|
||||||
if (ret < 0)
|
if (ec && ec != error_code(ERROR_HANDLE_EOF, get_system_category()))
|
||||||
{
|
|
||||||
TORRENT_ASSERT(ec);
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ec.clear();
|
ec.clear();
|
||||||
|
Reference in New Issue
Block a user