summaryrefslogtreecommitdiff
path: root/libc/nptl/sysdeps/unix/sysv
diff options
context:
space:
mode:
authorjoseph <joseph@7b3dc134-2b1b-0410-93df-9e9f96275f8d>2008-10-18 18:20:55 +0000
committerjoseph <joseph@7b3dc134-2b1b-0410-93df-9e9f96275f8d>2008-10-18 18:20:55 +0000
commitfab640f0bdf4e32f752e93859718a2a302406ac3 (patch)
tree3eaf4a90dbfb90eef84bd1a4b0bbd3cf03442235 /libc/nptl/sysdeps/unix/sysv
parent1f9eaa66061764bb98f4860a9333fb95e573c4ac (diff)
downloadeglibc2-fab640f0bdf4e32f752e93859718a2a302406ac3.tar.gz
Merge changes between r7062 and r7165 from /fsf/trunk.
git-svn-id: svn://svn.eglibc.org/trunk@7166 7b3dc134-2b1b-0410-93df-9e9f96275f8d
Diffstat (limited to 'libc/nptl/sysdeps/unix/sysv')
-rw-r--r--libc/nptl/sysdeps/unix/sysv/linux/fork.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/libc/nptl/sysdeps/unix/sysv/linux/fork.c b/libc/nptl/sysdeps/unix/sysv/linux/fork.c
index 1683de80f..524d72c58 100644
--- a/libc/nptl/sysdeps/unix/sysv/linux/fork.c
+++ b/libc/nptl/sysdeps/unix/sysv/linux/fork.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2007, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
@@ -64,6 +64,9 @@ __libc_fork (void)
struct fork_handler *runp;
while ((runp = __fork_handlers) != NULL)
{
+ /* Make sure we read from the current RUNP pointer. */
+ atomic_full_barrier ();
+
unsigned int oldval = runp->refcntr;
if (oldval == 0)