Merge pull request #23963 from matoro/main
Replace __sync intrinsics with __atomic
This commit is contained in:
@@ -1147,7 +1147,7 @@ void reset_cached_pid(void) {
|
||||
|
||||
pid_t getpid_cached(void) {
|
||||
static bool installed = false;
|
||||
pid_t current_value;
|
||||
pid_t current_value = CACHED_PID_UNSET;
|
||||
|
||||
/* getpid_cached() is much like getpid(), but caches the value in local memory, to avoid having to invoke a
|
||||
* system call each time. This restores glibc behaviour from before 2.24, when getpid() was unconditionally
|
||||
@@ -1158,7 +1158,13 @@ pid_t getpid_cached(void) {
|
||||
* https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=c579f48edba88380635ab98cb612030e3ed8691e
|
||||
*/
|
||||
|
||||
current_value = __sync_val_compare_and_swap(&cached_pid, CACHED_PID_UNSET, CACHED_PID_BUSY);
|
||||
__atomic_compare_exchange_n(
|
||||
&cached_pid,
|
||||
¤t_value,
|
||||
CACHED_PID_BUSY,
|
||||
false,
|
||||
__ATOMIC_SEQ_CST,
|
||||
__ATOMIC_SEQ_CST);
|
||||
|
||||
switch (current_value) {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user