diff options
author | joseph <joseph@7b3dc134-2b1b-0410-93df-9e9f96275f8d> | 2008-10-18 18:20:55 +0000 |
---|---|---|
committer | joseph <joseph@7b3dc134-2b1b-0410-93df-9e9f96275f8d> | 2008-10-18 18:20:55 +0000 |
commit | fab640f0bdf4e32f752e93859718a2a302406ac3 (patch) | |
tree | 3eaf4a90dbfb90eef84bd1a4b0bbd3cf03442235 /libc/nptl/sysdeps/unix/sysv | |
parent | 1f9eaa66061764bb98f4860a9333fb95e573c4ac (diff) | |
download | eglibc2-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.c | 5 |
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) |