2009-07-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>

Rewritten RequestGroupMan::saveServerStat()
	* src/RequestGroupMan.cc
pull/1/head
Tatsuhiro Tsujikawa 2009-07-22 13:09:50 +00:00
parent 1c6a0962a1
commit 8d2b9f0aa1
2 changed files with 22 additions and 13 deletions

View File

@ -13,6 +13,11 @@
Rewritten Signature::save() Rewritten Signature::save()
* src/Signature.cc * src/Signature.cc
2009-07-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Rewritten RequestGroupMan::saveServerStat()
* src/RequestGroupMan.cc
2009-07-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> 2009-07-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Rewritten stream error handling Rewritten stream error handling

View File

@ -763,22 +763,26 @@ bool RequestGroupMan::saveServerStat(const std::string& filename) const
{ {
std::string tempfile = filename; std::string tempfile = filename;
tempfile += "__temp"; tempfile += "__temp";
{
std::ofstream out(tempfile.c_str(), std::ios::binary); std::ofstream out(tempfile.c_str(), std::ios::binary);
if(!out) { if(!out) {
_logger->error(MSG_OPENING_WRITABLE_SERVER_STAT_FILE_FAILED, _logger->error(MSG_OPENING_WRITABLE_SERVER_STAT_FILE_FAILED,
tempfile.c_str()); filename.c_str());
return false; return false;
} }
if (_serverStatMan->save(out)) { if(!_serverStatMan->save(out)) {
out.close(); _logger->error(MSG_WRITING_SERVER_STAT_FILE_FAILED, filename.c_str());
return false;
}
}
if(File(tempfile).renameTo(filename)) { if(File(tempfile).renameTo(filename)) {
_logger->notice(MSG_SERVER_STAT_SAVED, filename.c_str()); _logger->notice(MSG_SERVER_STAT_SAVED, filename.c_str());
return true; return true;
} } else {
}
_logger->error(MSG_WRITING_SERVER_STAT_FILE_FAILED, filename.c_str()); _logger->error(MSG_WRITING_SERVER_STAT_FILE_FAILED, filename.c_str());
return false; return false;
} }
}
void RequestGroupMan::removeStaleServerStat(time_t timeout) void RequestGroupMan::removeStaleServerStat(time_t timeout)
{ {