Reference counting for love objects in 0.9.2 is now atomic (using SDL's atomic operation functions.)

This commit is contained in:
Alex Szpakowski
2015-01-14 15:52:05 -04:00
parent 1b41d546e2
commit 811f574ef6
3 changed files with 15 additions and 10 deletions
+5 -7
View File
@@ -21,33 +21,31 @@
// LOVE
#include "Object.h"
#include <stdio.h>
namespace love
{
Object::Object()
: count(1)
{
count.value = 1;
}
Object::~Object()
{
}
int Object::getReferenceCount() const
int Object::getReferenceCount()
{
return count;
return SDL_AtomicGet(&count);
}
void Object::retain()
{
++count;
SDL_AtomicIncRef(&count);
}
void Object::release()
{
if (--count <= 0)
if (SDL_AtomicDecRef(&count))
delete this;
}