diff options
author | Ulrich Drepper <drepper@redhat.com> | 2006-10-11 20:34:59 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2006-10-11 20:34:59 +0000 |
commit | 46c38bd7dc34e104870982c64dae364b1a28b549 (patch) | |
tree | 99c02529a6eed24a5ca9c84a3e08cf9cb1047fff /sysdeps/unix/sysv/linux/sys | |
parent | 37fb75957cc01c7bb52d625d6fcdf19452cb224e (diff) | |
download | glibc-46c38bd7dc34e104870982c64dae364b1a28b549.tar.gz glibc-46c38bd7dc34e104870982c64dae364b1a28b549.tar.xz glibc-46c38bd7dc34e104870982c64dae364b1a28b549.zip |
* sysdeps/unix/sysv/linux/syscalls.list: Add epoll_pwait.
* sysdeps/unix/sysv/linux/sys/epoll.h: Declare epoll_pwait. * sysdeps/unix/sysv/linux/Versions (libc): Add epoll_pwait for version GLIBC_2.6. * Versions.def: Add GLIBC_2.6 for libc. * sysdeps/unix/sysv/linux/i386/sysdep.h (DOARGS_6): Fix offset.
Diffstat (limited to 'sysdeps/unix/sysv/linux/sys')
-rw-r--r-- | sysdeps/unix/sysv/linux/sys/epoll.h | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/sysdeps/unix/sysv/linux/sys/epoll.h b/sysdeps/unix/sysv/linux/sys/epoll.h index 68f173a04d..d8901f7d53 100644 --- a/sysdeps/unix/sysv/linux/sys/epoll.h +++ b/sysdeps/unix/sysv/linux/sys/epoll.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. +/* Copyright (C) 2002, 2003, 2004, 2005, 2006 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,14 @@ #include <stdint.h> #include <sys/types.h> +/* Get __sigset_t. */ +#include <bits/sigset.h> + +#ifndef __sigset_t_defined +# define __sigset_t_defined +typedef __sigset_t sigset_t; +#endif + enum EPOLL_EVENTS { @@ -105,6 +113,16 @@ extern int epoll_ctl (int __epfd, int __op, int __fd, extern int epoll_wait (int __epfd, struct epoll_event *__events, int __maxevents, int __timeout); + +/* Same as epoll_wait, but the thread's signal mask is temporarily + and atomically replaced with the one provided as parameter. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern int epoll_pwait (int __epfd, struct epoll_event *__events, + int __maxevents, int __timeout, + __const __sigset_t *__ss); + __END_DECLS #endif /* sys/epoll.h */ |