Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(124)

Unified Diff: net/base/file_stream.h

Issue 541022: Fix the case where the browser livelocks if we cannot open a file. (Closed)
Patch Set: Uploading checkpoint. This is known to cause all uploads on Windows to be zero bytes long. Created 10 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « base/platform_file_win.cc ('k') | net/base/file_stream_posix.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/base/file_stream.h
diff --git a/net/base/file_stream.h b/net/base/file_stream.h
index 6b7f3dcdb987a31956175f0e63415974f7202cd6..def87bcbf76a06d43d497d4334986298fe2828dc 100644
--- a/net/base/file_stream.h
+++ b/net/base/file_stream.h
@@ -43,13 +43,24 @@ 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);
- // Returns true if Open succeeded and Close has not been called.
+ // 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.
bool IsOpen() const;
// Adjust the position from where data is read. Upon success, the stream
« no previous file with comments | « base/platform_file_win.cc ('k') | net/base/file_stream_posix.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698