Thanks to Seena Fallah <seenafallah@gmail.com> for this fix, part of a
larger commit.
Fixes: https://tracker.ceph.com/issues/75164
Co-authored-by: Seena Fallah <seenafallah@gmail.com>
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
/// Unregister an object
void remove(IoObject& entry) {
auto lock = std::scoped_lock{mutex};
- if (entries.empty()) {
- // already shut down
- } else {
+ if (entry.is_linked()) {
entries.erase(entries.iterator_to(entry));
}
+ // else: already removed by shutdown() or a previous remove()
}
};