Fix FindObject

This commit is contained in:
TuxSH 2018-11-19 11:52:03 +01:00 committed by Michael Scire
parent 6642373795
commit 240f455bc0
3 changed files with 4 additions and 3 deletions

View file

@ -1,7 +1,6 @@
#pragma once
#include <boost/intrusive/set.hpp>
#include <mesosphere/core/util.hpp>
#include <mesosphere/core/KAutoObject.hpp>
#include <mesosphere/kresources/KSlabHeap.hpp>
#include <mesosphere/threading/KMutex.hpp>
@ -38,7 +37,6 @@ class KObjectAllocator {
T,
boost::intrusive::base_hook<AllocatedSetHookType>,
boost::intrusive::compare<Comparator>
//boost::intrusive::key_of_value<KeyOfValue>
>::type;
using pointer = T *;
@ -71,8 +69,9 @@ class KObjectAllocator {
allocatedSet.erase(obj);
}
T *FindObject(u64 comparisonKey)
SharedPtr<T> FindObject(u64 comparisonKey) noexcept
{
std::scoped_lock guard{mutex};
auto it = allocatedSet.find(comparisonKey, ComparatorEqual{});
return it != allocatedSet.end() ? &*it : nullptr;
}

View file

@ -2,6 +2,7 @@
#include <mesosphere/core/util.hpp>
#include <mesosphere/core/Result.hpp>
#include <mesosphere/core/KAutoObject.hpp>
#include <mesosphere/interfaces/ISetAllocated.hpp>
#include <mesosphere/interfaces/ILimitedResource.hpp>
#include <mesosphere/interfaces/IClientServerParent.hpp>

View file

@ -2,6 +2,7 @@
#include <mesosphere/core/util.hpp>
#include <mesosphere/core/Result.hpp>
#include <mesosphere/core/KAutoObject.hpp>
#include <mesosphere/interfaces/ISetAllocated.hpp>
#include <mesosphere/interfaces/IServer.hpp>