diff options
author | Joseph Myers <joseph@codesourcery.com> | 2012-05-14 14:11:02 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2012-05-14 14:11:02 +0000 |
commit | ffb7875d03e224584fd1e3dc8bb6e90c79ed606e (patch) | |
tree | 7735bbae8f840773afe241281ae1184cd956acc8 /sysdeps/unix/sysv/linux/sigsuspend.c | |
parent | 1bfb72913bf82781ae232d056991362b2b071800 (diff) | |
download | glibc-ffb7875d03e224584fd1e3dc8bb6e90c79ed606e.tar.gz glibc-ffb7875d03e224584fd1e3dc8bb6e90c79ed606e.tar.xz glibc-ffb7875d03e224584fd1e3dc8bb6e90c79ed606e.zip |
Remove pre-2.2 Linux kernel support.
Diffstat (limited to 'sysdeps/unix/sysv/linux/sigsuspend.c')
-rw-r--r-- | sysdeps/unix/sysv/linux/sigsuspend.c | 33 |
1 files changed, 1 insertions, 32 deletions
diff --git a/sysdeps/unix/sysv/linux/sigsuspend.c b/sysdeps/unix/sysv/linux/sigsuspend.c index 30b8b585b1..e1ee87b29f 100644 --- a/sysdeps/unix/sysv/linux/sigsuspend.c +++ b/sysdeps/unix/sysv/linux/sigsuspend.c @@ -1,5 +1,4 @@ -/* Copyright (C) 1996,1997,1998,1999,2000,2002,2003,2006 - Free Software Foundation, Inc. +/* Copyright (C) 1996-2012 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 @@ -27,41 +26,11 @@ #include <kernel-features.h> -#if !__ASSUME_REALTIME_SIGNALS -/* The variable is shared between all wrappers around signal handling - functions which have RT equivalents. The definition is in sigaction.c. */ -extern int __libc_missing_rt_sigs; - - -static int -do_sigsuspend (const sigset_t *set) -{ -# ifdef __NR_rt_sigsuspend - /* First try the RT signals. */ - if (!__libc_missing_rt_sigs) - { - /* XXX The size argument hopefully will have to be changed to the - real size of the user-level sigset_t. */ - int saved_errno = errno; - int result = INLINE_SYSCALL (rt_sigsuspend, 2, - CHECK_SIGSET (set), _NSIG / 8); - if (result >= 0 || errno != ENOSYS) - return result; - - __set_errno (saved_errno); - __libc_missing_rt_sigs = 1; - } -# endif - - return INLINE_SYSCALL (sigsuspend, 3, 0, 0, set->__val[0]); -} -#else static inline int __attribute__ ((always_inline)) do_sigsuspend (const sigset_t *set) { return INLINE_SYSCALL (rt_sigsuspend, 2, CHECK_SIGSET (set), _NSIG / 8); } -#endif /* Change the set of blocked signals to SET, wait until a signal arrives, and restore the set of blocked signals. */ |