diff options
author | Jakub Jelinek <jakub@redhat.com> | 2005-10-03 20:44:20 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2005-10-03 20:44:20 +0000 |
commit | a5a11654ea5ea89bfffb295fbb2f17cbb45839b6 (patch) | |
tree | 2078fd7b828ae3b4c030e6722c53bdc81542a511 /nptl/init.c | |
parent | 6543cff055c298ea3ec718b356f6c2115e8797ae (diff) |
Updated to fedora-glibc-20051003T2040
Diffstat (limited to 'nptl/init.c')
-rw-r--r-- | nptl/init.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/nptl/init.c b/nptl/init.c index 86745af8d1..de704122d1 100644 --- a/nptl/init.c +++ b/nptl/init.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. +/* Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@redhat.com>, 2002. @@ -211,6 +211,15 @@ sighandler_setxid (int sig, siginfo_t *si, void *ctx) if (atomic_decrement_val (&__xidcmd->cntr) == 0) lll_futex_wake (&__xidcmd->cntr, 1); + + /* Reset the SETXID flag. */ + struct pthread *self = THREAD_SELF; + int flags = THREAD_GETMEM (self, cancelhandling); + THREAD_SETMEM (self, cancelhandling, flags & ~SETXID_BITMASK); + + /* And release the futex. */ + self->setxid_futex = 1; + lll_futex_wake (&self->setxid_futex, 1); } |