add linux ppoll syscall wrapper

This commit is contained in:
Rich Felker 2012-09-09 16:09:29 -04:00
parent 3d939be2e3
commit 141138c41b
2 changed files with 19 additions and 0 deletions

View File

@ -5,6 +5,8 @@
extern "C" { extern "C" {
#endif #endif
#incluce <features.h>
#define POLLIN 0x001 #define POLLIN 0x001
#define POLLPRI 0x002 #define POLLPRI 0x002
#define POLLOUT 0x004 #define POLLOUT 0x004
@ -28,6 +30,14 @@ struct pollfd
int poll (struct pollfd *, nfds_t, int); int poll (struct pollfd *, nfds_t, int);
#ifdef _GNU_SOURCE
#define __NEED_time_t
#define __NEED_struct_timespec
#define __NEED_sigset_t
#include <bits/alltypes.h>
int ppoll(struct pollfd *, nfds_t, const struct timespec *, const sigset_t *);
#endif
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif

9
src/linux/ppoll.c Normal file
View File

@ -0,0 +1,9 @@
#define _GNU_SOURCE
#include <poll.h>
#include "syscall.h"
int ppoll(struct pollfd *fds, nfds_t n, const struct timespec *to, const sigset_t *mask)
{
struct timespec tmp = *to;
return syscall_cp(SYS_ppoll, fds, n, &tmp, mask);
}