X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-core.git;a=blobdiff_plain;f=dali%2Fpublic-api%2Fobject%2Fref-object.cpp;h=3060f4b48889676c987523013017b3f7b4e60bee;hp=6ed98bac6f326c3444afecbe7d1bcfdb39c5233b;hb=649ec06daecb510fb84fe4642a6af957f127e7ab;hpb=88c06f8cdea30606c625dd3a7aecb0df8652af72 diff --git a/dali/public-api/object/ref-object.cpp b/dali/public-api/object/ref-object.cpp index 6ed98ba..3060f4b 100644 --- a/dali/public-api/object/ref-object.cpp +++ b/dali/public-api/object/ref-object.cpp @@ -101,7 +101,8 @@ void RefObject::Reference() #else - std::atomic_fetch_add(&mCount, 1); + // gcc > 4.1 builtin atomic add and fetch: + __sync_add_and_fetch( &mCount, 1 ); #endif } @@ -149,7 +150,8 @@ void RefObject::Unreference() #else - newValue = ( mCount -= 1 ); + // gcc > 4.1 builtin atomic subtract and fetch (--mCount; return mCount) + newValue = __sync_sub_and_fetch( &mCount, 1 ); #endif