diff options
author | Wilco Dijkstra <wdijkstr@arm.com> | 2022-09-22 15:32:40 +0100 |
---|---|---|
committer | Wilco Dijkstra <wdijkstr@arm.com> | 2022-09-23 15:59:56 +0100 |
commit | d1babeb32de5dae8893c640bd925357b218d846c (patch) | |
tree | c5ee8e42e03e6a4caf2eb645d5f9b7a8bdbdb6e1 /nptl/pthread_create.c | |
parent | 8114b95cef10a5a1fc3e529ab8b3a75f56fe889a (diff) | |
download | glibc-d1babeb32de5dae8893c640bd925357b218d846c.tar.gz glibc-d1babeb32de5dae8893c640bd925357b218d846c.tar.xz glibc-d1babeb32de5dae8893c640bd925357b218d846c.zip |
Use C11 atomics instead of atomic_increment(_val)
Replace atomic_increment and atomic_increment_val with atomic_fetch_add_relaxed. One case in sem_post.c uses release semantics (see comment above it). The others are simple counters and do not protect any shared data from concurrent accesses. Passes regress on AArch64. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Diffstat (limited to 'nptl/pthread_create.c')
-rw-r--r-- | nptl/pthread_create.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/nptl/pthread_create.c b/nptl/pthread_create.c index 59d8df8cd7..0df67484e2 100644 --- a/nptl/pthread_create.c +++ b/nptl/pthread_create.c @@ -759,7 +759,7 @@ __pthread_create_2_1 (pthread_t *newthread, const pthread_attr_t *attr, we momentarily store a false value; this doesn't matter because there is no kosher thing a signal handler interrupting us right here can do that cares whether the thread count is correct. */ - atomic_increment (&__nptl_nthreads); + atomic_fetch_add_relaxed (&__nptl_nthreads, 1); /* Our local value of stopped_start and thread_ran can be accessed at any time. The PD->stopped_start may only be accessed if we have |