Implement utils::memory_lock

This commit is contained in:
Nekotekina 2020-11-09 17:15:57 +03:00
parent d1988d384c
commit e98eb4659e
2 changed files with 12 additions and 0 deletions

View file

@ -39,6 +39,9 @@ namespace utils
// Set memory protection
void memory_protect(void* pointer, std::size_t size, protection prot);
// Lock pages in memory
void memory_lock(void* pointer, std::size_t size);
// Shared memory handle
class shm
{

View file

@ -180,6 +180,15 @@ namespace utils
#endif
}
void memory_lock(void* pointer, std::size_t size)
{
#ifdef _WIN32
verify("VirtualLock" HERE), ::VirtualLock(pointer, size);
#else
verify("mlock" HERE), !::mlock(pointer, size);
#endif
}
shm::shm(u32 size, u32 flags)
: m_size(::align(size, 0x10000))
, m_flags(flags)