mirror of
https://github.com/zeldaret/botw
synced 2026-09-09 19:51:27 -04:00
18c60323a9
git subrepo clone https://github.com/open-ead/sead lib/sead subrepo: subdir: "lib/sead" merged: "1b66e825d" upstream: origin: "https://github.com/open-ead/sead" branch: "master" commit: "1b66e825d" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo" commit: "2f68596" git subrepo clone (merge) https://github.com/open-ead/nnheaders lib/NintendoSDK subrepo: subdir: "lib/NintendoSDK" merged: "9ee21399f" upstream: origin: "https://github.com/open-ead/nnheaders" branch: "master" commit: "9ee21399f" git-subrepo: version: "0.4.3" origin: "ssh://git@github.com/ingydotnet/git-subrepo" commit: "2f68596" git subrepo clone https://github.com/open-ead/agl lib/agl subrepo: subdir: "lib/agl" merged: "7c063271b" upstream: origin: "https://github.com/open-ead/agl" branch: "master" commit: "7c063271b" git-subrepo: version: "0.4.3" origin: "ssh://git@github.com/ingydotnet/git-subrepo" commit: "2f68596" git subrepo clone https://github.com/open-ead/EventFlow lib/EventFlow subrepo: subdir: "lib/EventFlow" merged: "c35d21b34" upstream: origin: "https://github.com/open-ead/EventFlow" branch: "master" commit: "c35d21b34" git-subrepo: version: "0.4.3" origin: "ssh://git@github.com/ingydotnet/git-subrepo" commit: "2f68596"
42 lines
944 B
C++
42 lines
944 B
C++
#include "thread/seadCriticalSection.h"
|
|
|
|
namespace sead
|
|
{
|
|
CriticalSection::CriticalSection() : IDisposer()
|
|
{
|
|
nn::os::InitializeMutex(&mCriticalSectionInner, true, 0);
|
|
}
|
|
|
|
CriticalSection::CriticalSection(Heap* disposer_heap)
|
|
: IDisposer(disposer_heap, HeapNullOption::UseSpecifiedOrContainHeap)
|
|
{
|
|
nn::os::InitializeMutex(&mCriticalSectionInner, true, 0);
|
|
}
|
|
|
|
CriticalSection::CriticalSection(Heap* disposer_heap, HeapNullOption heap_null_option)
|
|
: IDisposer(disposer_heap, heap_null_option)
|
|
{
|
|
nn::os::InitializeMutex(&mCriticalSectionInner, true, 0);
|
|
}
|
|
|
|
CriticalSection::~CriticalSection()
|
|
{
|
|
nn::os::FinalizeMutex(&mCriticalSectionInner);
|
|
}
|
|
|
|
void CriticalSection::lock()
|
|
{
|
|
nn::os::LockMutex(&mCriticalSectionInner);
|
|
}
|
|
|
|
bool CriticalSection::tryLock()
|
|
{
|
|
return nn::os::TryLockMutex(&mCriticalSectionInner);
|
|
}
|
|
|
|
void CriticalSection::unlock()
|
|
{
|
|
nn::os::UnlockMutex(&mCriticalSectionInner);
|
|
}
|
|
} // namespace sead
|