align EPOLL_* flags with fcntl O_* flag definitions, which vary by arch
authorRich Felker <dalias@aerifal.cx>
Fri, 28 Dec 2012 01:44:44 +0000 (20:44 -0500)
committerRich Felker <dalias@aerifal.cx>
Fri, 28 Dec 2012 01:44:44 +0000 (20:44 -0500)
the old definitions were wrong on some archs. actually, EPOLL_NONBLOCK
probably should not even be defined; it is not accepted by the kernel
and it's not clear to me whether it has any use at all, even if it did
work. this issue should be revisited at some point, but I'm leaving it
in place for now in case some applications reference it.

include/sys/epoll.h

index 3530a9a..0ff3d49 100644 (file)
@@ -7,13 +7,14 @@ extern "C" {
 
 #include <stdint.h>
 #include <sys/types.h>
+#include <fcntl.h>
 
 #define __NEED_sigset_t
 
 #include <bits/alltypes.h>
 
-#define EPOLL_CLOEXEC 02000000
-#define EPOLL_NONBLOCK 04000
+#define EPOLL_CLOEXEC O_CLOEXEC
+#define EPOLL_NONBLOCK O_NONBLOCK
 
 enum EPOLL_EVENTS { __EPOLL_DUMMY };
 #define EPOLLIN 0x001