diff --git a/ChangeLog b/ChangeLog index cb191b603d..3069c3aaa0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2012-02-15 Joseph Myers + + * sysdeps/unix/sysv/linux/bits/signalfd.h: New file. + * sysdeps/unix/sysv/linux/sparc/bits/signalfd.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/sys/signalfd.h: Remove. + * sysdeps/unix/sysv/linux/sys/signalfd.h: Get flags from + . + (SFD_CLOEXEC, SFD_NONBLOCK): Don't define here. + * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add + bits/signalfd.h. + 2012-02-14 Marek Polacek * sysdeps/x86_64/crti.S: New file. diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile index 2a457a6bd8..068c02b81c 100644 --- a/sysdeps/unix/sysv/linux/Makefile +++ b/sysdeps/unix/sysv/linux/Makefile @@ -32,7 +32,8 @@ sysdep_headers += sys/mount.h sys/acct.h sys/sysctl.h \ scsi/sg.h scsi/scsi.h scsi/scsi_ioctl.h sys/pci.h \ sys/ultrasound.h sys/raw.h sys/personality.h sys/epoll.h \ bits/a.out.h sys/inotify.h sys/signalfd.h sys/eventfd.h \ - sys/timerfd.h sys/fanotify.h bits/eventfd.h bits/inotify.h + sys/timerfd.h sys/fanotify.h bits/eventfd.h bits/inotify.h \ + bits/signalfd.h install-others += $(inst_includedir)/bits/syscall.h diff --git a/sysdeps/unix/sysv/linux/bits/signalfd.h b/sysdeps/unix/sysv/linux/bits/signalfd.h new file mode 100644 index 0000000000..f2c0dde2f5 --- /dev/null +++ b/sysdeps/unix/sysv/linux/bits/signalfd.h @@ -0,0 +1,29 @@ +/* Copyright (C) 2007-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 + 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, see + . */ + +#ifndef _SYS_SIGNALFD_H +# error "Never use directly; include instead." +#endif + +/* Flags for signalfd. */ +enum + { + SFD_CLOEXEC = 02000000, +#define SFD_CLOEXEC SFD_CLOEXEC + SFD_NONBLOCK = 00004000 +#define SFD_NONBLOCK SFD_NONBLOCK + }; diff --git a/sysdeps/unix/sysv/linux/sparc/sys/signalfd.h b/sysdeps/unix/sysv/linux/sparc/bits/signalfd.h similarity index 52% rename from sysdeps/unix/sysv/linux/sparc/sys/signalfd.h rename to sysdeps/unix/sysv/linux/sparc/bits/signalfd.h index a075f703dd..1271e34094 100644 --- a/sysdeps/unix/sysv/linux/sparc/sys/signalfd.h +++ b/sysdeps/unix/sysv/linux/sparc/bits/signalfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007, 2008 Free Software Foundation, Inc. +/* Copyright (C) 2007-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 @@ -16,50 +16,14 @@ . */ #ifndef _SYS_SIGNALFD_H -#define _SYS_SIGNALFD_H 1 - -#define __need_sigset_t -#include -#include - - -struct signalfd_siginfo -{ - uint32_t ssi_signo; - int32_t ssi_errno; - int32_t ssi_code; - uint32_t ssi_pid; - uint32_t ssi_uid; - int32_t ssi_fd; - uint32_t ssi_tid; - uint32_t ssi_band; - uint32_t ssi_overrun; - uint32_t ssi_trapno; - int32_t ssi_status; - int32_t ssi_int; - uint64_t ssi_ptr; - uint64_t ssi_utime; - uint64_t ssi_stime; - uint64_t ssi_addr; - uint8_t __pad[48]; -}; +# error "Never use directly; include instead." +#endif /* Flags for signalfd. */ enum { SFD_CLOEXEC = 0x400000, #define SFD_CLOEXEC SFD_CLOEXEC - SFD_NONBLOCK = 0x4000 + SFD_NONBLOCK = 0x004000 #define SFD_NONBLOCK SFD_NONBLOCK }; - -__BEGIN_DECLS - -/* Request notification for delivery of signals in MASK to be - performed using descriptor FD.*/ -extern int signalfd (int __fd, const sigset_t *__mask, int __flags) - __THROW __nonnull ((2)); - -__END_DECLS - -#endif /* sys/signalfd.h */ diff --git a/sysdeps/unix/sysv/linux/sys/signalfd.h b/sysdeps/unix/sysv/linux/sys/signalfd.h index d8a9a48ac5..46a8d479f1 100644 --- a/sysdeps/unix/sysv/linux/sys/signalfd.h +++ b/sysdeps/unix/sysv/linux/sys/signalfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007, 2008 Free Software Foundation, Inc. +/* Copyright (C) 2007-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 @@ -22,6 +22,8 @@ #include #include +/* Get the platform-dependent flags. */ +#include struct signalfd_siginfo { @@ -44,15 +46,6 @@ struct signalfd_siginfo uint8_t __pad[48]; }; -/* Flags for signalfd. */ -enum - { - SFD_CLOEXEC = 02000000, -#define SFD_CLOEXEC SFD_CLOEXEC - SFD_NONBLOCK = 04000 -#define SFD_NONBLOCK SFD_NONBLOCK - }; - __BEGIN_DECLS /* Request notification for delivery of signals in MASK to be