about summary refs log tree commit diff
path: root/nscd/cache.c
diff options
context:
space:
mode:
authorAndreas Schwab <aschwab@redhat.com>2009-07-16 09:57:32 -0700
committerUlrich Drepper <drepper@redhat.com>2009-07-16 09:57:32 -0700
commit50158f95525ca59459a90f2a7bc65ceb892a0807 (patch)
tree1c1ecd6bab36b07e1643e7bb0142967cac85ba6c /nscd/cache.c
parentbec466d922ee22b94ac0d00415fb605e136efe6e (diff)
downloadglibc-50158f95525ca59459a90f2a7bc65ceb892a0807.tar.gz
glibc-50158f95525ca59459a90f2a7bc65ceb892a0807.tar.xz
glibc-50158f95525ca59459a90f2a7bc65ceb892a0807.zip
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.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/nscd/cache.c b/nscd/cache.c
index ab842efc29..3e6793df2f 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));