Changeset: 874ea15c8c83 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=874ea15c8c83
Modified Files:
        common/utils/matomic.h
Branch: default
Log Message:

Fix atomic exchange functions.


diffs (35 lines):

diff --git a/common/utils/matomic.h b/common/utils/matomic.h
--- a/common/utils/matomic.h
+++ b/common/utils/matomic.h
@@ -306,11 +306,12 @@ ATOMIC_SET(ATOMIC_TYPE *var, ATOMIC_BASE
 static inline ATOMIC_BASE_TYPE
 ATOMIC_XCG(ATOMIC_TYPE *var, ATOMIC_BASE_TYPE val)
 {
-       ATOMIC_BASE_TYPE new;
+       ATOMIC_BASE_TYPE old;
        pthread_mutex_lock(&var->lck);
-       new = var->val = val;
+       old = var->val;
+       var->val = val;
        pthread_mutex_unlock(&var->lck);
-       return new;
+       return old;
 }
 #define ATOMIC_XCG(var, val)   ATOMIC_XCG(var, (ATOMIC_BASE_TYPE) (val))
 
@@ -408,11 +409,12 @@ ATOMIC_PTR_SET(ATOMIC_PTR_TYPE *var, voi
 static inline void *
 ATOMIC_PTR_XCG(ATOMIC_PTR_TYPE *var, void *val)
 {
-       void *new;
+       void *old;
        pthread_mutex_lock(&var->lck);
-       new = var->val = val;
+       old = var->val;
+       var->val = val;
        pthread_mutex_unlock(&var->lck);
-       return new;
+       return old;
 }
 
 static inline bool
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to