1 /* Copyright (C) 1997-2014 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
3 Linux/IA64 specific sigaction
4 Written by Jes Sorensen, <Jes.Sorensen@cern.ch>, April 1999.
6 The GNU C Library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either
9 version 2.1 of the License, or (at your option) any later version.
11 The GNU C Library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details.
16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */
20 /* Linux/ia64 only has rt signals, thus we do not even want to try falling
21 back to the old style signals as the default Linux handler does. */
28 #include <sys/syscall.h>
30 /* The variable is shared between all wrappers around signal handling
31 functions which have RT equivalents. This is the definition. */
34 /* If ACT is not NULL, change the action for SIG to *ACT.
35 If OACT is not NULL, put the old action for SIG in *OACT. */
37 __libc_sigaction (sig
, act
, oact
)
39 const struct sigaction
*act
;
40 struct sigaction
*oact
;
42 /* XXX The size argument hopefully will have to be changed to the
43 real size of the user-level sigset_t. */
44 return INLINE_SYSCALL (rt_sigaction
, 4, sig
, act
, oact
, _NSIG
/ 8);
46 libc_hidden_def (__libc_sigaction
)
48 #ifdef WRAPPER_INCLUDE
49 # include WRAPPER_INCLUDE
52 #ifndef LIBC_SIGACTION
53 weak_alias (__libc_sigaction
, __sigaction
)
54 libc_hidden_def (__sigaction
)
55 weak_alias (__libc_sigaction
, sigaction
)