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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list