mirror of
https://github.com/Atmosphere-NX/Atmosphere
synced 2024-12-23 12:51:13 +00:00
26 lines
918 B
C++
26 lines
918 B
C++
#include <mesosphere/interfaces/ILimitedResource.hpp>
|
|
#include <mesosphere/processes/KProcess.hpp>
|
|
#include <mesosphere/kresources/KResourceLimit.hpp>
|
|
|
|
namespace mesosphere::detail
|
|
{
|
|
|
|
void ReleaseResource(const SharedPtr<KResourceLimit> &reslimit, KAutoObject::TypeId typeId, size_t count, size_t realCount)
|
|
{
|
|
if (reslimit != nullptr) {
|
|
reslimit->Release(KResourceLimit::GetCategory(typeId), count, realCount);
|
|
} else {
|
|
KResourceLimit::GetDefaultInstance().Release(KResourceLimit::GetCategory(typeId), count, realCount);
|
|
}
|
|
}
|
|
|
|
void ReleaseResource(const SharedPtr<KProcess> &owner, KAutoObject::TypeId typeId, size_t count, size_t realCount)
|
|
{
|
|
if (owner != nullptr) {
|
|
return ReleaseResource(owner->GetResourceLimit(), typeId, count, realCount);
|
|
} else {
|
|
KResourceLimit::GetDefaultInstance().Release(KResourceLimit::GetCategory(typeId), count, realCount);
|
|
}
|
|
}
|
|
|
|
}
|