From 033d54a2d43a92cdb1794a4dfece4d465cf36f6b Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Fri, 31 Aug 2012 19:49:31 +0000 Subject: Fix sem_post race (bug 14532). --- nptl/sysdeps/unix/sysv/linux/sem_post.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'nptl/sysdeps/unix') diff --git a/nptl/sysdeps/unix/sysv/linux/sem_post.c b/nptl/sysdeps/unix/sysv/linux/sem_post.c index 56f27e977e..67e8cc5429 100644 --- a/nptl/sysdeps/unix/sysv/linux/sem_post.c +++ b/nptl/sysdeps/unix/sysv/linux/sem_post.c @@ -1,5 +1,5 @@ /* sem_post -- post to a POSIX semaphore. Generic futex-using version. - Copyright (C) 2003, 2004, 2007, 2008 Free Software Foundation, Inc. + Copyright (C) 2003-2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jakub Jelinek , 2003. @@ -40,7 +40,7 @@ __new_sem_post (sem_t *sem) return -1; } } - while (atomic_compare_and_exchange_bool_acq (&isem->value, cur + 1, cur)); + while (atomic_compare_and_exchange_bool_rel (&isem->value, cur + 1, cur)); atomic_full_barrier (); if (isem->nwaiters > 0) -- cgit v1.2.1