This can happen if the two paths are not on the same mount-point.
fixes #9236
Signed-off-by: Gunnar Beutner <gunnar.beutner@netways.de>
output.close();
String finalFile = perfdata_path + "." + Convert::ToString((long)Utility::GetTime());
- (void) rename(temp_path.CStr(), finalFile.CStr());
+ if (rename(temp_path.CStr(), finalFile.CStr()) < 0) {
+ BOOST_THROW_EXCEPTION(posix_error()
+ << boost::errinfo_api_function("rename")
+ << boost::errinfo_errno(errno)
+ << boost::errinfo_file_name(temp_path));
+ }
}
output.open(temp_path.CStr());