Skip to content
Snippets Groups Projects
Verified Commit 7e9d1bd0 authored by Alberto Miranda's avatar Alberto Miranda :hotsprings:
Browse files

adhoc_storage: Fix bug with shadowed id

Closes #88
parent 4291f4e9
No related branches found
No related tags found
1 merge request!58Resolve "adhoc_storage instances should keep track of jobs using them"
......@@ -348,12 +348,6 @@ struct adhoc_storage : public storage {
operator=(adhoc_storage&&) noexcept;
~adhoc_storage() override;
const std::uint64_t&
id() const;
std::uint64_t&
id();
std::shared_ptr<storage::ctx>
context() const final;
......
......@@ -1347,7 +1347,7 @@ adhoc_storage::ctx::should_flush() const {
class adhoc_storage::impl {
public:
explicit impl(adhoc_storage::ctx ctx) : m_id(), m_ctx(std::move(ctx)) {}
explicit impl(adhoc_storage::ctx ctx) : m_ctx(std::move(ctx)) {}
impl(const impl& rhs) = default;
impl(impl&& rhs) = default;
impl&
......@@ -1356,16 +1356,6 @@ public:
operator=(impl&&) noexcept = default;
~impl() = default;
const std::uint64_t&
id() const {
return m_id;
}
std::uint64_t&
id() {
return m_id;
}
adhoc_storage::ctx
context() const {
return m_ctx;
......@@ -1377,7 +1367,6 @@ public:
}
private:
std::uint64_t m_id;
adhoc_storage::ctx m_ctx;
};
......@@ -1417,16 +1406,6 @@ adhoc_storage::operator=(const adhoc_storage& other) noexcept {
adhoc_storage&
adhoc_storage::operator=(adhoc_storage&&) noexcept = default;
const std::uint64_t&
adhoc_storage::id() const {
return m_pimpl->id();
}
std::uint64_t&
adhoc_storage::id() {
return m_pimpl->id();
}
std::shared_ptr<storage::ctx>
adhoc_storage::context() const {
return std::make_shared<adhoc_storage::ctx>(m_pimpl->context());
......
......@@ -54,8 +54,7 @@ struct adhoc_storage_manager : scord::utils::singleton<adhoc_storage_manager> {
it == m_adhoc_storages.end()) {
const auto& [it_adhoc, inserted] = m_adhoc_storages.emplace(
id, std::make_shared<admire::internal::adhoc_storage_info>(
admire::adhoc_storage{type, name, current_id++,
ctx}));
admire::adhoc_storage{type, name, id, ctx}));
if(!inserted) {
LOGGER_ERROR("{}: Emplace failed", __FUNCTION__);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment