From 8e351378b76880f861bdcda8fc11d5769e310a00 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Fri, 5 Oct 2007 18:55:57 +0000 Subject: * sysdeps/gnu/netinet/tcp.h: Define TCP_MD5SIG, TCP_MD5SIG_MAXKEYLEN, struct tcp_md5sig. Extend struct tcp_info according to recent kernels. * sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add eventfd, evetnfd_read, eventfd_write. * sysdeps/unix/sysv/linux/eventfd.c: New file. * sysdeps/unix/sysv/linux/eventfd_read.c: New file. * sysdeps/unix/sysv/linux/eventfd_write.c: New file. * sysdeps/unix/sysv/linux/sys/eventfd.h: New file. * sysdeps/unix/sysv/linux/Versions: Export eventfd, evetnfd_read, eventfd_write for GLIBC_2.7. --- sysdeps/unix/sysv/linux/signalfd.c | 12 +++++++++++- sysdeps/unix/sysv/linux/sys/signalfd.h | 3 ++- 2 files changed, 13 insertions(+), 2 deletions(-) (limited to 'sysdeps/unix/sysv/linux') diff --git a/sysdeps/unix/sysv/linux/signalfd.c b/sysdeps/unix/sysv/linux/signalfd.c index cdde278e9a..09355ecd1d 100644 --- a/sysdeps/unix/sysv/linux/signalfd.c +++ b/sysdeps/unix/sysv/linux/signalfd.c @@ -23,8 +23,18 @@ int -signalfd (int fd, const sigset_t *mask) +signalfd (int fd, const sigset_t *mask, int flags) { + /* The system call has no flag parameter which is bad. So we have + to wait until we have to support to pass additional values to the + kernel (sys_indirect) before implementing setting flags like + O_NONBLOCK etc. */ + if (flags != 0) + { + __set_errno (EINVAL); + return -1; + } + #ifdef __NR_signalfd return INLINE_SYSCALL (signalfd, 3, fd, mask, _NSIG / 8); #else diff --git a/sysdeps/unix/sysv/linux/sys/signalfd.h b/sysdeps/unix/sysv/linux/sys/signalfd.h index b780243e0a..247b20b9d2 100644 --- a/sysdeps/unix/sysv/linux/sys/signalfd.h +++ b/sysdeps/unix/sysv/linux/sys/signalfd.h @@ -50,7 +50,8 @@ __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) __THROW; +extern int signalfd (int __fd, const sigset_t *__mask, int __flags) + __nonnull (2) __THROW; __END_DECLS -- cgit 1.4.1