Signed-off-by: Bo Cai <cai.bo@h3c.com>
*/
#include <boost/program_options/variables_map.hpp>
#include <boost/program_options/parsers.hpp>
+#include <boost/scope_exit.hpp>
#include <stdlib.h>
#include <string>
}
}
+ BOOST_SCOPE_EXIT((&r) (&fd) (&outpath)) {
+ ::close(fd);
+ if (r < 0 && fd != STDOUT_FILENO) {
+ ::remove(outpath.c_str());
+ }
+ } BOOST_SCOPE_EXIT_END
+
bufferlist bl;
r = 0;
if (map_type == "osdmap") {
if (r < 0) {
std::cerr << "Error getting map: " << cpp_strerror(r) << std::endl;
err = EINVAL;
- ::close(fd);
goto done;
}
bl.write_fd(fd);