mirror of
https://github.com/rakshasa/rtorrent.git
synced 2026-10-07 14:49:21 +00:00
Check the flush on the dht cache and history
good() ran before close(), so a failed write replaced the file.
This commit is contained in:
+3
-2
@@ -467,6 +467,9 @@ Root::save_input_history() {
|
||||
history_file << entry << "|" + category.at((pitr->second + i) % m_input_history_length) + "\n";
|
||||
}
|
||||
|
||||
// The data only reaches the kernel here, so this is where a full disk is seen.
|
||||
history_file.close();
|
||||
|
||||
if (!history_file.good()) {
|
||||
lt_log_print(torrent::LOG_DEBUG, "input history file corrupted during writing, discarding (path:%s)", history_filename.c_str());
|
||||
return;
|
||||
@@ -474,8 +477,6 @@ Root::save_input_history() {
|
||||
lt_log_print(torrent::LOG_DEBUG, "input history file written (path:%s)", history_filename.c_str());
|
||||
}
|
||||
|
||||
history_file.close();
|
||||
|
||||
std::rename(history_filename_tmp.c_str(), history_filename.c_str());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user