diff options
-rw-r--r-- | nptl/ChangeLog | 4 | ||||
-rw-r--r-- | nptl/Makefile | 6 | ||||
-rw-r--r-- | nptl/libc-cancellation.c | 8 | ||||
-rw-r--r-- | nptl/libc-cleanup.c | 28 |
4 files changed, 35 insertions, 11 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 23083611b4..d83b46125c 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,5 +1,9 @@ 2009-05-16 Ulrich Drepper <drepper@redhat.com> + * libc-cancellation.c: Move __libc_cleanup_routine to... + * libc-cleanup.c: ...here. New file. + * Makefile (routines): Add libc-cleanup. + * cancellation.c (__pthread_disable_asynccancel): Remove unnecessary test. * libc-cancellation.c: Use <nptl/cancellation.c: to define the code. diff --git a/nptl/Makefile b/nptl/Makefile index 07c098d23e..5bba0e1455 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -1,5 +1,4 @@ -# Copyright (C) 2002,2003,2004,2005,2006,2007,2008 -# Free Software Foundation, Inc. +# Copyright (C) 2002-2008,2009 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -28,7 +27,8 @@ extra-libs := libpthread extra-libs-others := $(extra-libs) install-lib-ldscripts := libpthread.so -routines = alloca_cutoff forward libc-lowlevellock libc-cancellation +routines = alloca_cutoff forward libc-lowlevellock libc-cancellation \ + libc-cleanup shared-only-routines = forward libpthread-routines = nptl-init vars events version \ diff --git a/nptl/libc-cancellation.c b/nptl/libc-cancellation.c index 432e1f8b6a..308be382d1 100644 --- a/nptl/libc-cancellation.c +++ b/nptl/libc-cancellation.c @@ -23,11 +23,3 @@ #define __pthread_enable_asynccancel __libc_enable_asynccancel #define __pthread_disable_asynccancel __libc_disable_asynccancel #include <nptl/cancellation.c> - - -void -__libc_cleanup_routine (struct __pthread_cleanup_frame *f) -{ - if (f->__do_it) - f->__cancel_routine (f->__cancel_arg); -} diff --git a/nptl/libc-cleanup.c b/nptl/libc-cleanup.c new file mode 100644 index 0000000000..0256d09563 --- /dev/null +++ b/nptl/libc-cleanup.c @@ -0,0 +1,28 @@ +/* Copyright (C) 2002, 2003, 2005, 2009 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@redhat.com>, 2002. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#include "pthreadP.h" + + +void +__libc_cleanup_routine (struct __pthread_cleanup_frame *f) +{ + if (f->__do_it) + f->__cancel_routine (f->__cancel_arg); +} |