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