A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Revert "Use C11's atomic_flag."
[simgrid.git]
/
src
/
xbt
/
mallocator.c
diff --git
a/src/xbt/mallocator.c
b/src/xbt/mallocator.c
index f12abcd3a9c8f5103176a231b1a1bad81d987a9a..ec32f179c53dc05c6543a5c46165c265a3924577 100644
(file)
--- a/
src/xbt/mallocator.c
+++ b/
src/xbt/mallocator.c
@@
-1,6
+1,6
@@
/* mallocator - recycle objects to avoid malloc() / free() */
/* mallocator - recycle objects to avoid malloc() / free() */
-/* Copyright (c) 2006-201
8
. The SimGrid Team.
+/* Copyright (c) 2006-201
7
. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
@@
-40,13
+40,13
@@
static int initialization_done = 0;
static inline void lock_reset(xbt_mallocator_t m)
{
static inline void lock_reset(xbt_mallocator_t m)
{
-
atomic_flag_clear(&m->lock)
;
+
m->lock = 0
;
}
static inline void lock_acquire(xbt_mallocator_t m)
{
if (initialization_done > 1) {
}
static inline void lock_acquire(xbt_mallocator_t m)
{
if (initialization_done > 1) {
- while (
atomic_flag_test_and_set(&m->lock
))
+ while (
__atomic_test_and_set(&m->lock, __ATOMIC_ACQUIRE
))
/* nop */;
}
}
/* nop */;
}
}
@@
-54,7
+54,7
@@
static inline void lock_acquire(xbt_mallocator_t m)
static inline void lock_release(xbt_mallocator_t m)
{
if (initialization_done > 1)
static inline void lock_release(xbt_mallocator_t m)
{
if (initialization_done > 1)
-
atomic_flag_clear(&m->lock
);
+
__atomic_clear(&m->lock, __ATOMIC_RELEASE
);
}
/**
}
/**