diff options
Diffstat (limited to 'libpthread/nptl/sysdeps/pthread')
-rw-r--r-- | libpthread/nptl/sysdeps/pthread/Makefile.in | 10 | ||||
-rw-r--r-- | libpthread/nptl/sysdeps/pthread/pt-sigaction.c (renamed from libpthread/nptl/sysdeps/pthread/sigaction.c) | 15 |
2 files changed, 5 insertions, 20 deletions
diff --git a/libpthread/nptl/sysdeps/pthread/Makefile.in b/libpthread/nptl/sysdeps/pthread/Makefile.in index be5c022b1..79765e9e6 100644 --- a/libpthread/nptl/sysdeps/pthread/Makefile.in +++ b/libpthread/nptl/sysdeps/pthread/Makefile.in @@ -42,8 +42,6 @@ CFLAGS-pthread_barrier_wait.c = -D_GNU_SOURCE CFLAGS-pthread_spin_destroy.c = -D_GNU_SOURCE CFLAGS-pthread_spin_init.c = -D_GNU_SOURCE CFLAGS-pthread_spin_unlock.c = -D_GNU_SOURCE -CFLAGS-pt-sigaction.c = -I$(top_srcdir)libc/sysdeps/linux/$(TARGET_ARCH) \ - -I$(top_srcdir)libc/signal CFLAGS-pt-sigfillset.c = -I$(top_srcdir)libc/signal CFLAGS-pt-sigprocmask.c = -I$(top_srcdir)libc/sysdeps/linux/common CFLAGS-unwind-forcedunwind.c = -fexceptions -fasynchronous-unwind-tables @@ -58,10 +56,6 @@ CFLAGS-rt-unwind-resume.c = -DIS_IN_librt \ libpthread-so-y += $(patsubst %,$(libpthread_pthread_OUT)/%.oS, \ pt-sigaction pt-sigprocmask unwind-forcedunwind) -CFLAGS-OMIT-sigaction.c = $(CFLAGS-pthread) -CFLAGS-sigaction.c = -I$(top_srcdir)libc/signal -libc-y += $(libpthread_pthread_OUT)/sigaction.o - librt-pt-routines-y = librt-cancellation.c librt-pt-shared-only-routines-y = rt-unwind-resume.c @@ -114,7 +108,7 @@ endif # impl, but ok. # Special rules needed since we do objdir->objdir compilation for these 3. # First symlink them, then build them. Rob would freak out on these. Sheesh! ;) -pthread-lc-fwd = sigaction sigfillset sigprocmask +pthread-lc-fwd = sigfillset sigprocmask $(patsubst %,$(libpthread_pthread_OUT)/pt-%.c,$(pthread-lc-fwd)): | $(libpthread_pthread_OUT) $(do_ln) $(call rel_srcdir)$(patsubst pt-%,$(libpthread_pthread_DIR)/%,$(@F)) $@ $(patsubst %,$(libpthread_pthread_OUT)/pt-%.oS,$(pthread-lc-fwd)): $(libpthread_pthread_OUT)/pt-%.oS: $(libpthread_pthread_OUT)/pt-%.c @@ -131,5 +125,5 @@ objclean-y += CLEAN_libpthread/nptl/sysdeps/pthread CLEAN_libpthread/nptl/sysdeps/pthread: $(do_rm) $(addprefix $(libpthread_pthread_OUT)/*., o os oS s S) \ $(libpthread_pthread_OUT)/defs.h \ - $(addprefix $(libpthread_pthread_DIR)/,pt-sigaction.c \ + $(addprefix $(libpthread_pthread_DIR)/, \ pt-sigfillset.c pt-sigprocmask.c) diff --git a/libpthread/nptl/sysdeps/pthread/sigaction.c b/libpthread/nptl/sysdeps/pthread/pt-sigaction.c index e004a3903..8b34cd936 100644 --- a/libpthread/nptl/sysdeps/pthread/sigaction.c +++ b/libpthread/nptl/sysdeps/pthread/pt-sigaction.c @@ -17,20 +17,17 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -#ifndef LIBC_SIGACTION - #include <pthreadP.h> +#include <signal.h> /* We use the libc implementation but we tell it to not allow SIGCANCEL or SIGTIMER to be handled. */ -#define LIBC_SIGACTION 1 -#include <sigaction.c> -extern __typeof(sigaction) __sigaction; +extern __typeof(sigaction) __libc_sigaction; int __sigaction (int sig, const struct sigaction *act, struct sigaction *oact) { - if (__builtin_expect (sig == SIGCANCEL || sig == SIGSETXID, 0)) + if (unlikely (sig == SIGCANCEL || sig == SIGSETXID)) { __set_errno (EINVAL); return -1; @@ -41,9 +38,3 @@ __sigaction (int sig, const struct sigaction *act, struct sigaction *oact) libc_hidden_proto(sigaction) weak_alias (__sigaction, sigaction) libc_hidden_weak(sigaction) - -#else - -# include_next <sigaction.c> - -#endif /* LIBC_SIGACTION */ |