mirror of
https://sourceware.org/git/glibc.git
synced 2025-12-24 17:51:17 +03:00
Update.
2003-03-21 Ulrich Drepper <drepper@redhat.com> * cancellation.c: Adjust for new form of compare&exchange macros. * cleanup_defer.c: Likewise. * init.c: Likewise. * libc-cancellation.c: Likewise. * old_pthread_cond_broadcast.c: Likewise. * old_pthread_cond_signal.c: Likewise. * old_pthread_cond_timedwait.c: Likewise. * old_pthread_cond_wait.c: Likewise. * pthread_cancel.c: Likewise. * pthread_create.c: Likewise. * pthread_detach.c: Likewise. * pthread_join.c: Likewise. * pthread_key_delete.c: Likewise. * pthread_setcancelstate.c: Likewise. * pthread_setcanceltype.c: Likewise. * pthread_timedjoin.c: Likewise. * pthread_tryjoin.c: Likewise. * sysdeps/pthread/createthread.c: Likewise.
This commit is contained in:
@@ -36,8 +36,8 @@ __cxa_finalize (void *d)
|
||||
for (f = &funcs->fns[funcs->idx - 1]; f >= &funcs->fns[0]; --f)
|
||||
if ((d == NULL || d == f->func.cxa.dso_handle)
|
||||
/* We don't want to run this cleanup more than once. */
|
||||
&& (atomic_compare_and_exchange_acq (&f->flavor, ef_free, ef_cxa)
|
||||
== 0))
|
||||
&& ! atomic_compare_and_exchange_bool_acq (&f->flavor, ef_free,
|
||||
ef_cxa))
|
||||
(*f->func.cxa.fn) (f->func.cxa.arg, 0);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user