Skip to content
This repository has been archived by the owner on Nov 8, 2023. It is now read-only.

Commit

Permalink
Use <linux/eventpoll.h> to implement <sys/epoll.h>.
Browse files Browse the repository at this point in the history
Bug: android/ndk#302
Test: builds
Change-Id: Ia3074326a128c38f2488e342c028cc030801cfd9
  • Loading branch information
enh-google committed Feb 24, 2017
1 parent c84e8a5 commit 893fd97
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 8 deletions.
14 changes: 7 additions & 7 deletions libc/include/sys/epoll.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,17 @@

#include <sys/cdefs.h>
#include <sys/types.h>
#include <fcntl.h> /* For O_CLOEXEC. */
#include <signal.h> /* For sigset_t. */

#include <linux/eventpoll.h>
/* TODO: https://lkml.org/lkml/2017/2/23/416 has a better fix. */
#undef EPOLLWAKEUP
#undef EPOLLONESHOT
#undef EPOLLET

__BEGIN_DECLS

/* TODO: remove once https://lkml.org/lkml/2017/2/23/417 is upstream. */
#define EPOLLIN 0x00000001
#define EPOLLPRI 0x00000002
#define EPOLLOUT 0x00000004
Expand All @@ -51,12 +57,6 @@ __BEGIN_DECLS
#define EPOLLONESHOT 0x40000000
#define EPOLLET 0x80000000

#define EPOLL_CTL_ADD 1
#define EPOLL_CTL_DEL 2
#define EPOLL_CTL_MOD 3

#define EPOLL_CLOEXEC O_CLOEXEC

typedef union epoll_data {
void* ptr;
int fd;
Expand Down
2 changes: 2 additions & 0 deletions libc/kernel/tools/defaults.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,8 @@
"SIGRTMAX": "__SIGRTMAX",
# We want to support both BSD and Linux member names in struct udphdr.
"udphdr": "__kernel_udphdr",
# The kernel's struct epoll_event just has __u64 for the data.
"epoll_event": "__kernel_uapi_epoll_event",
}

# this is the set of known static inline functions that we want to keep
Expand Down
2 changes: 1 addition & 1 deletion libc/kernel/uapi/linux/eventpoll.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
#define EPOLL_PACKED
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#endif
struct epoll_event {
struct __kernel_uapi_epoll_event {
__u32 events;
__u64 data;
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Expand Down

0 comments on commit 893fd97

Please sign in to comment.