boost::system::system_error -> std::system_error

This commit is contained in:
Marcus Holland-Moritz 2022-10-26 09:28:15 +02:00
parent 8ed2fceba3
commit 3053140e5c
8 changed files with 26 additions and 40 deletions

View File

@ -24,9 +24,7 @@
#include <exception> #include <exception>
#include <functional> #include <functional>
#include <string> #include <string>
#include <system_error>
#include <boost/system/error_code.hpp>
#include <boost/system/system_error.hpp>
namespace dwarfs { namespace dwarfs {
@ -56,7 +54,7 @@ class runtime_error : public error {
: error(s, file, line) {} : error(s, file, line) {}
}; };
class system_error : public boost::system::system_error { class system_error : public std::system_error {
public: public:
system_error(char const* file, int line) noexcept; system_error(char const* file, int line) noexcept;
system_error(std::string const& s, char const* file, int line) noexcept; system_error(std::string const& s, char const* file, int line) noexcept;

View File

@ -38,9 +38,9 @@ class mmap : public mmif {
void const* addr() const override; void const* addr() const override;
size_t size() const override; size_t size() const override;
boost::system::error_code lock(off_t offset, size_t size) override; std::error_code lock(off_t offset, size_t size) override;
boost::system::error_code release(off_t offset, size_t size) override; std::error_code release(off_t offset, size_t size) override;
boost::system::error_code release_until(off_t offset) override; std::error_code release_until(off_t offset) override;
private: private:
int fd_; int fd_;

View File

@ -22,9 +22,9 @@
#pragma once #pragma once
#include <string> #include <string>
#include <system_error>
#include <boost/noncopyable.hpp> #include <boost/noncopyable.hpp>
#include <boost/system/system_error.hpp>
#include <folly/Range.h> #include <folly/Range.h>
@ -47,8 +47,8 @@ class mmif : public boost::noncopyable {
virtual void const* addr() const = 0; virtual void const* addr() const = 0;
virtual size_t size() const = 0; virtual size_t size() const = 0;
virtual boost::system::error_code lock(off_t offset, size_t size) = 0; virtual std::error_code lock(off_t offset, size_t size) = 0;
virtual boost::system::error_code release(off_t offset, size_t size) = 0; virtual std::error_code release(off_t offset, size_t size) = 0;
virtual boost::system::error_code release_until(off_t offset) = 0; virtual std::error_code release_until(off_t offset) = 0;
}; };
} // namespace dwarfs } // namespace dwarfs

View File

@ -43,13 +43,12 @@ system_error::system_error(std::string const& s, char const* file,
system_error::system_error(std::string const& s, int err, char const* file, system_error::system_error(std::string const& s, int err, char const* file,
int line) noexcept int line) noexcept
: boost::system::system_error(err, boost::system::generic_category(), : std::system_error(err, std::generic_category(), s.c_str())
s.c_str())
, file_(file) , file_(file)
, line_(line) {} , line_(line) {}
system_error::system_error(int err, char const* file, int line) noexcept system_error::system_error(int err, char const* file, int line) noexcept
: boost::system::system_error(err, boost::system::generic_category()) : std::system_error(err, std::generic_category())
, file_(file) , file_(file)
, line_(line) {} , line_(line) {}

View File

@ -28,8 +28,6 @@
#include <sys/mman.h> #include <sys/mman.h>
#include <sys/statvfs.h> #include <sys/statvfs.h>
#include <boost/system/system_error.hpp>
#include <folly/Range.h> #include <folly/Range.h>
#include <fmt/format.h> #include <fmt/format.h>

View File

@ -26,8 +26,6 @@
#include <sys/stat.h> #include <sys/stat.h>
#include <unistd.h> #include <unistd.h>
#include <boost/system/error_code.hpp>
#include <fmt/format.h> #include <fmt/format.h>
#include "dwarfs/error.h" #include "dwarfs/error.h"
@ -71,17 +69,17 @@ void* safe_mmap(int fd, size_t size) {
} // namespace } // namespace
boost::system::error_code mmap::lock(off_t offset, size_t size) { std::error_code mmap::lock(off_t offset, size_t size) {
boost::system::error_code ec; std::error_code ec;
auto addr = reinterpret_cast<uint8_t*>(addr_) + offset; auto addr = reinterpret_cast<uint8_t*>(addr_) + offset;
if (::mlock(addr, size) != 0) { if (::mlock(addr, size) != 0) {
ec.assign(errno, boost::system::generic_category()); ec.assign(errno, std::generic_category());
} }
return ec; return ec;
} }
boost::system::error_code mmap::release(off_t offset, size_t size) { std::error_code mmap::release(off_t offset, size_t size) {
boost::system::error_code ec; std::error_code ec;
auto misalign = offset % page_size_; auto misalign = offset % page_size_;
offset -= misalign; offset -= misalign;
@ -90,18 +88,18 @@ boost::system::error_code mmap::release(off_t offset, size_t size) {
auto addr = reinterpret_cast<uint8_t*>(addr_) + offset; auto addr = reinterpret_cast<uint8_t*>(addr_) + offset;
if (::madvise(addr, size, MADV_DONTNEED) != 0) { if (::madvise(addr, size, MADV_DONTNEED) != 0) {
ec.assign(errno, boost::system::generic_category()); ec.assign(errno, std::generic_category());
} }
return ec; return ec;
} }
boost::system::error_code mmap::release_until(off_t offset) { std::error_code mmap::release_until(off_t offset) {
boost::system::error_code ec; std::error_code ec;
offset -= offset % page_size_; offset -= offset % page_size_;
if (::madvise(addr_, offset, MADV_DONTNEED) != 0) { if (::madvise(addr_, offset, MADV_DONTNEED) != 0) {
ec.assign(errno, boost::system::generic_category()); ec.assign(errno, std::generic_category());
} }
return ec; return ec;
} }

View File

@ -30,13 +30,12 @@
#include <stdexcept> #include <stdexcept>
#include <string> #include <string>
#include <string_view> #include <string_view>
#include <system_error>
#include <utility> #include <utility>
#include <vector> #include <vector>
#include <unistd.h> #include <unistd.h>
#include <boost/system/system_error.hpp>
#include <folly/ExceptionString.h> #include <folly/ExceptionString.h>
#include <folly/container/F14Map.h> #include <folly/container/F14Map.h>
@ -575,7 +574,7 @@ scanner_<LoggerPolicy>::scan_tree(const std::string& path, progress& prog,
break; break;
} }
} }
} catch (const boost::system::system_error& e) { } catch (const std::system_error& e) {
LOG_ERROR << "error reading entry: " << e.what(); LOG_ERROR << "error reading entry: " << e.what();
prog.errors++; prog.errors++;
} }
@ -584,7 +583,7 @@ scanner_<LoggerPolicy>::scan_tree(const std::string& path, progress& prog,
queue.insert(queue.begin(), subdirs.begin(), subdirs.end()); queue.insert(queue.begin(), subdirs.begin(), subdirs.end());
prog.dirs_scanned++; prog.dirs_scanned++;
} catch (const boost::system::system_error& e) { } catch (const std::system_error& e) {
LOG_ERROR << "cannot open directory: " << e.what(); LOG_ERROR << "cannot open directory: " << e.what();
prog.errors++; prog.errors++;
} }

View File

@ -33,15 +33,9 @@ class mmap_mock : public mmif {
size_t size() const override { return m_data.size(); } size_t size() const override { return m_data.size(); }
boost::system::error_code lock(off_t, size_t) override { std::error_code lock(off_t, size_t) override { return std::error_code(); }
return boost::system::error_code(); std::error_code release(off_t, size_t) override { return std::error_code(); }
} std::error_code release_until(off_t) override { return std::error_code(); }
boost::system::error_code release(off_t, size_t) override {
return boost::system::error_code();
}
boost::system::error_code release_until(off_t) override {
return boost::system::error_code();
}
private: private:
const std::string m_data; const std::string m_data;