summaryrefslogtreecommitdiffstats
path: root/net/base/file_stream.h
diff options
context:
space:
mode:
authorvandebo@chromium.org <vandebo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-19 22:01:59 +0000
committervandebo@chromium.org <vandebo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-19 22:01:59 +0000
commit51a4c029715cf5bd6bd7659186ce7a368fbb40a7 (patch)
tree9e8eef378667d21a733fa73a8185079b6f7c26a0 /net/base/file_stream.h
parent0fecda62ce784048c032bbe31c7aeaeb8d5cdeab (diff)
downloadchromium_src-51a4c029715cf5bd6bd7659186ce7a368fbb40a7.zip
chromium_src-51a4c029715cf5bd6bd7659186ce7a368fbb40a7.tar.gz
chromium_src-51a4c029715cf5bd6bd7659186ce7a368fbb40a7.tar.bz2
Revert 42152 - Fix the case where the browser livelocks if we cannot open a file.
If one tries to upload a file that one doesn't have read access to, the browser livelocks. It tries to read from the file, gets nothing but spins forever because it knows that it hasn't finished reading. To address this, firstly we add a check at stat() time to make sure that we can read the file. However, this doesn't take care of the case where the access() call was incorrect, or the permissions have changed under us. In this case, we replace the missing file with NULs. BUG=30850 Review URL: http://codereview.chromium.org/541022 TBR=vandebo@chromium.org Review URL: http://codereview.chromium.org/1145004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42154 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/base/file_stream.h')
-rw-r--r--net/base/file_stream.h15
1 files changed, 2 insertions, 13 deletions
diff --git a/net/base/file_stream.h b/net/base/file_stream.h
index dc578f3..6b7f3dc 100644
--- a/net/base/file_stream.h
+++ b/net/base/file_stream.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved. Use of this
+// Copyright (c) 2008 The Chromium Authors. All rights reserved. Use of this
// source code is governed by a BSD-style license that can be found in the
// LICENSE file.
@@ -43,24 +43,13 @@ class FileStream {
// Note that if there are any pending async operations, they'll be aborted.
void Close();
- // Release performs the same actions as Close, but doesn't actually close the
- // underlying PlatformFile.
- void Release();
-
// Call this method to open the FileStream. The remaining methods
// cannot be used unless this method returns OK. If the file cannot be
// opened then an error code is returned.
// open_flags is a bitfield of base::PlatformFileFlags
int Open(const FilePath& path, int open_flags);
- // Calling this method is functionally the same as constructing the object
- // with the non-default constructor. This method can only be used if the
- // FileSteam isn't currently open (i.e. was constructed with the default
- // constructor).
- int Open(base::PlatformFile file, int open_flags);
-
- // Returns true if Open succeeded and neither Close nor Release have been
- // called.
+ // Returns true if Open succeeded and Close has not been called.
bool IsOpen() const;
// Adjust the position from where data is read. Upon success, the stream