mirror of
https://github.com/hedge-dev/UnleashedRecomp.git
synced 2026-01-07 20:19:30 -06:00
Implemented cross-platform logger framework (and clean-up)
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
#include <stdafx.h>
|
||||
#include "xdm.h"
|
||||
#include "FreeList.h"
|
||||
#include "freelist.h"
|
||||
|
||||
FreeList<std::tuple<std::unique_ptr<char>, TypeDestructor_t>> gKernelObjects;
|
||||
Mutex gKernelLock;
|
||||
@@ -10,9 +10,7 @@ void* ObQueryObject(size_t handle)
|
||||
std::lock_guard guard{ gKernelLock };
|
||||
|
||||
if (handle >= gKernelObjects.items.size())
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
return std::get<0>(gKernelObjects[handle]).get();
|
||||
}
|
||||
@@ -36,6 +34,7 @@ void ObCloseHandle(uint32_t handle)
|
||||
std::lock_guard guard{ gKernelLock };
|
||||
|
||||
auto& obj = gKernelObjects[handle];
|
||||
|
||||
if (std::get<1>(obj)(std::get<0>(obj).get()))
|
||||
{
|
||||
std::get<0>(obj).reset();
|
||||
@@ -46,4 +45,4 @@ void ObCloseHandle(uint32_t handle)
|
||||
}
|
||||
|
||||
gKernelObjects.Free(handle);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user