fs/io/FileOutputStream: don't auto-delete file on WIN32
The file handle is never reset to INVALID_HANDLE_VALUE, and thus the destructor will assume the operation shall be cancelled and will delete the temporary file. This was a major breakage for saving the database file and the state file.
This commit is contained in:
parent
b3fe3e8b3d
commit
d38034bb5c
1
NEWS
1
NEWS
|
@ -6,6 +6,7 @@ ver 0.19.9 (not yet released)
|
|||
* fix build failure with uClibc
|
||||
* fix build failure on non-POSIX operating systems
|
||||
* fix dependency issue on parallel Android build
|
||||
* fix database/state file saving on Windows
|
||||
|
||||
ver 0.19.8 (2015/01/14)
|
||||
* input
|
||||
|
|
|
@ -62,6 +62,7 @@ FileOutputStream::Commit(gcc_unused Error &error)
|
|||
assert(IsDefined());
|
||||
|
||||
CloseHandle(handle);
|
||||
handle = INVALID_HANDLE_VALUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -71,6 +72,7 @@ FileOutputStream::Cancel()
|
|||
assert(IsDefined());
|
||||
|
||||
CloseHandle(handle);
|
||||
handle = INVALID_HANDLE_VALUE;
|
||||
RemoveFile(path);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue