diff options
-rw-r--r-- | ChangeLog | 11 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/Makefile | 2 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/bits/eventfd.h | 31 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sparc/bits/eventfd.h (renamed from sysdeps/unix/sysv/linux/sparc/sys/eventfd.h) | 32 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sys/eventfd.h | 15 |
5 files changed, 51 insertions, 40 deletions
diff --git a/ChangeLog b/ChangeLog index 05d1b47a20..7339898c50 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2012-02-13 Joseph Myers <joseph@codesourcery.com> + + * sysdeps/unix/sysv/linux/bits/eventfd.h: New file. + * sysdeps/unix/sysv/linux/sparc/bits/eventfd.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/sys/eventfd.h: Remove. + * sysdeps/unix/sysv/linux/sys/eventfd.h: Get flags from + <bits/eventfd.h>. + (EFD_SEMAPHORE, EFD_CLOEXEC, EFD_NONBLOCK): Don't define here. + * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add + bits/eventfd.h. + 2012-02-10 Thomas Schwinge <thomas@codesourcery.com> * sysdeps/i386/fpu/feupdateenv.c (__feupdateenv): Invoke diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile index e684b160f0..7da55025a9 100644 --- a/sysdeps/unix/sysv/linux/Makefile +++ b/sysdeps/unix/sysv/linux/Makefile @@ -32,7 +32,7 @@ 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 + sys/timerfd.h sys/fanotify.h bits/eventfd.h install-others += $(inst_includedir)/bits/syscall.h diff --git a/sysdeps/unix/sysv/linux/bits/eventfd.h b/sysdeps/unix/sysv/linux/bits/eventfd.h new file mode 100644 index 0000000000..9575e0fbcd --- /dev/null +++ b/sysdeps/unix/sysv/linux/bits/eventfd.h @@ -0,0 +1,31 @@ +/* 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 + <http://www.gnu.org/licenses/>. */ + +#ifndef _SYS_EVENTFD_H +# error "Never use <bits/eventfd.h> directly; include <sys/eventfd.h> instead." +#endif + +/* Flags for eventfd. */ +enum + { + EFD_SEMAPHORE = 00000001, +#define EFD_SEMAPHORE EFD_SEMAPHORE + EFD_CLOEXEC = 02000000, +#define EFD_CLOEXEC EFD_CLOEXEC + EFD_NONBLOCK = 00004000 +#define EFD_NONBLOCK EFD_NONBLOCK + }; diff --git a/sysdeps/unix/sysv/linux/sparc/sys/eventfd.h b/sysdeps/unix/sysv/linux/sparc/bits/eventfd.h index 7ea0270ef7..d76ac5f713 100644 --- a/sysdeps/unix/sysv/linux/sparc/sys/eventfd.h +++ b/sysdeps/unix/sysv/linux/sparc/bits/eventfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007, 2008, 2009 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,36 +16,14 @@ <http://www.gnu.org/licenses/>. */ #ifndef _SYS_EVENTFD_H -#define _SYS_EVENTFD_H 1 +# error "Never use <bits/eventfd.h> directly; include <sys/eventfd.h> instead." +#endif -#include <stdint.h> - - -/* Type for event counter. */ -typedef uint64_t eventfd_t; - -/* Flags for signalfd. */ +/* Flags for eventfd. */ enum { EFD_CLOEXEC = 0x400000, #define EFD_CLOEXEC EFD_CLOEXEC - EFD_NONBLOCK = 0x4000 + EFD_NONBLOCK = 0x004000 #define EFD_NONBLOCK EFD_NONBLOCK }; - - -__BEGIN_DECLS - -/* Return file descriptor for generic event channel. Set initial - value to COUNT. */ -extern int eventfd (int __count, int __flags) __THROW; - -/* Read event counter and possibly wait for events. */ -extern int eventfd_read (int __fd, eventfd_t *__value); - -/* Increment event counter. */ -extern int eventfd_write (int __fd, eventfd_t __value); - -__END_DECLS - -#endif /* sys/eventfd.h */ diff --git a/sysdeps/unix/sysv/linux/sys/eventfd.h b/sysdeps/unix/sysv/linux/sys/eventfd.h index cca4316dbb..1602c7eded 100644 --- a/sysdeps/unix/sysv/linux/sys/eventfd.h +++ b/sysdeps/unix/sysv/linux/sys/eventfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007, 2008, 2009 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 @@ -20,21 +20,12 @@ #include <stdint.h> +/* Get the platform-dependent flags. */ +#include <bits/eventfd.h> /* Type for event counter. */ typedef uint64_t eventfd_t; -/* Flags for signalfd. */ -enum - { - EFD_SEMAPHORE = 1, -#define EFD_SEMAPHORE EFD_SEMAPHORE - EFD_CLOEXEC = 02000000, -#define EFD_CLOEXEC EFD_CLOEXEC - EFD_NONBLOCK = 04000 -#define EFD_NONBLOCK EFD_NONBLOCK - }; - __BEGIN_DECLS |