diff options
author | Andreas Schwab <aschwab@redhat.com> | 2009-07-16 09:57:32 -0700 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2009-07-16 09:57:32 -0700 |
commit | 50158f95525ca59459a90f2a7bc65ceb892a0807 (patch) | |
tree | 1c1ecd6bab36b07e1643e7bb0142967cac85ba6c /nscd/cache.c | |
parent | bec466d922ee22b94ac0d00415fb605e136efe6e (diff) | |
download | glibc-50158f95525ca59459a90f2a7bc65ceb892a0807.zip glibc-50158f95525ca59459a90f2a7bc65ceb892a0807.tar.gz glibc-50158f95525ca59459a90f2a7bc65ceb892a0807.tar.bz2 |
Use correct release semantic in list update.
nscd uses lockfree lists and we need to ensure the correct release
semantics is used when adding to the list.
Diffstat (limited to 'nscd/cache.c')
-rw-r--r-- | nscd/cache.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/nscd/cache.c b/nscd/cache.c index ab842ef..3e6793d 100644 --- a/nscd/cache.c +++ b/nscd/cache.c @@ -179,7 +179,7 @@ cache_add (int type, const void *key, size_t len, struct datahead *packet, /* Put the new entry in the first position. */ do newp->next = table->head->array[hash]; - while (atomic_compare_and_exchange_bool_acq (&table->head->array[hash], + while (atomic_compare_and_exchange_bool_rel (&table->head->array[hash], (ref_t) ((char *) newp - table->data), (ref_t) newp->next)); |