diff options
Diffstat (limited to 'sysdeps/unix')
-rw-r--r-- | sysdeps/unix/sysv/linux/signalfd.c | 12 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sys/signalfd.h | 3 |
2 files changed, 13 insertions, 2 deletions
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 |