Add Data:performAtomic to lock a mutex while using a Data object.

This commit is contained in:
Sasha Szpakowski
2024-02-18 17:07:24 -04:00
parent 007090af14
commit ae6800e0e0
5 changed files with 58 additions and 14 deletions
+17
View File
@@ -20,10 +20,27 @@
// LOVE
#include "Data.h"
#include "thread/threads.h"
namespace love
{
love::Type Data::type("Data", &Object::type);
Data::~Data()
{
delete mutex;
}
static void createMutex(love::thread::Mutex **mutexAddress)
{
*mutexAddress = love::thread::newMutex();
}
love::thread::Mutex *Data::getMutex()
{
std::call_once(mutexCreated, createMutex, &mutex);
return mutex;
}
} // love