summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
Diffstat (limited to 'net')
-rw-r--r--net/base/file_stream_posix.cc3
-rw-r--r--net/base/file_stream_win.cc3
-rw-r--r--net/url_request/url_request_file_job.cc3
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_) {