diff options
Diffstat (limited to 'net')
-rw-r--r-- | net/base/file_stream_posix.cc | 3 | ||||
-rw-r--r-- | net/base/file_stream_win.cc | 3 | ||||
-rw-r--r-- | net/url_request/url_request_file_job.cc | 3 |
3 files changed, 6 insertions, 3 deletions
diff --git a/net/base/file_stream_posix.cc b/net/base/file_stream_posix.cc index 502d0f1..a094eed 100644 --- a/net/base/file_stream_posix.cc +++ b/net/base/file_stream_posix.cc @@ -353,9 +353,8 @@ void FileStream::Close() { async_context_.reset(); if (file_ != base::kInvalidPlatformFileValue) { - if (close(file_) != 0) { + if (!base::ClosePlatformFile(file_)) NOTREACHED(); - } file_ = base::kInvalidPlatformFileValue; bound_net_log_.EndEvent(net::NetLog::TYPE_FILE_STREAM_OPEN, NULL); diff --git a/net/base/file_stream_win.cc b/net/base/file_stream_win.cc index 1f7ecbf..9e1f686f 100644 --- a/net/base/file_stream_win.cc +++ b/net/base/file_stream_win.cc @@ -181,7 +181,8 @@ void FileStream::Close() { async_context_.reset(); if (file_ != INVALID_HANDLE_VALUE) { - CloseHandle(file_); + if (!base::ClosePlatformFile(file_)) + NOTREACHED(); file_ = INVALID_HANDLE_VALUE; bound_net_log_.EndEvent(net::NetLog::TYPE_FILE_STREAM_OPEN, NULL); diff --git a/net/url_request/url_request_file_job.cc b/net/url_request/url_request_file_job.cc index d8187ab..8f32750 100644 --- a/net/url_request/url_request_file_job.cc +++ b/net/url_request/url_request_file_job.cc @@ -158,6 +158,9 @@ void URLRequestFileJob::Start() { } void URLRequestFileJob::Kill() { + // URL requests should not block on the disk! + // http://code.google.com/p/chromium/issues/detail?id=59849 + base::ThreadRestrictions::ScopedAllowIO allow_io; stream_.Close(); if (async_resolver_) { |