[haiku-commits] r42079 - in haiku/trunk: headers/private/shared src/kits/support

  • From: anevilyak@xxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Fri, 10 Jun 2011 03:55:12 +0200 (CEST)

Author: anevilyak
Date: 2011-06-10 03:55:12 +0200 (Fri, 10 Jun 2011)
New Revision: 42079
Changeset: https://dev.haiku-os.org/changeset/42079

Modified:
   haiku/trunk/headers/private/shared/Referenceable.h
   haiku/trunk/src/kits/support/Referenceable.cpp
Log:
AcquireReference() now returns the previous ref count.



Modified: haiku/trunk/headers/private/shared/Referenceable.h
===================================================================
--- haiku/trunk/headers/private/shared/Referenceable.h  2011-06-09 21:01:57 UTC 
(rev 42078)
+++ haiku/trunk/headers/private/shared/Referenceable.h  2011-06-10 01:55:12 UTC 
(rev 42079)
@@ -17,7 +17,7 @@
                                                                
BReferenceable();
        virtual                                         ~BReferenceable();
 
-                       void                            AcquireReference();
+                       int32                           AcquireReference();
                        bool                            ReleaseReference();
                                                                        // 
returns true after last
 

Modified: haiku/trunk/src/kits/support/Referenceable.cpp
===================================================================
--- haiku/trunk/src/kits/support/Referenceable.cpp      2011-06-09 21:01:57 UTC 
(rev 42078)
+++ haiku/trunk/src/kits/support/Referenceable.cpp      2011-06-10 01:55:12 UTC 
(rev 42079)
@@ -28,13 +28,16 @@
 }
 
 
-void
+int32
 BReferenceable::AcquireReference()
 {
-       if (atomic_add(&fReferenceCount, 1) == 0)
+       int32 previousReferenceCount = atomic_add(&fReferenceCount, 1);
+       if (previousReferenceCount == 0)
                FirstReferenceAcquired();
 
        TRACE("%p: acquire %ld\n", this, fReferenceCount);
+
+       return previousReferenceCount;
 }
 
 


Other related posts: