Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[simix] Add warning about atomic operations
authorGabriel Corona <gabriel.corona@loria.fr>
Thu, 16 Jun 2016 13:12:27 +0000 (15:12 +0200)
committerGabriel Corona <gabriel.corona@loria.fr>
Thu, 16 Jun 2016 13:12:43 +0000 (15:12 +0200)
src/simix/smx_process_private.h
src/simix/smx_synchro_private.h

index 837cc22..29e0756 100644 (file)
@@ -72,12 +72,14 @@ public:
 
   friend void intrusive_ptr_add_ref(Process* process)
   {
+    // Atomic operation! Do not split in two instructions!
     auto previous = (process->refcount_)++;
     xbt_assert(previous != 0);
     (void) previous;
   }
   friend void intrusive_ptr_release(Process* process)
   {
+    // Atomic operation! Do not split in two instructions!
     auto count = --(process->refcount_);
     if (count == 0)
       delete process;
index 21e76b4..d9d0391 100644 (file)
@@ -36,12 +36,14 @@ public:
   // boost::intrusive_ptr<Mutex> support:
   friend void intrusive_ptr_add_ref(Mutex* mutex)
   {
+    // Atomic operation! Do not split in two instructions!
     auto previous = (mutex->refcount_)++;
     xbt_assert(previous != 0);
     (void) previous;
   }
   friend void intrusive_ptr_release(Mutex* mutex)
   {
+    // Atomic operation! Do not split in two instructions!
     auto count = --(mutex->refcount_);
     if (count == 0)
       delete mutex;