librelist archives

« back to archive

[PATCH] epoll: add EPOLLWAKEUP constant

[PATCH] epoll: add EPOLLWAKEUP constant

From:
Eric Wong
Date:
2013-01-17 @ 21:45
This was added in Linux 3.5 and glibc 2.17
---
 commit 9449295d3e6109fb5516a1aa2e6735e2a043a7ab in
 git://bogomips.org/sleepy_penguin.git master

 ext/sleepy_penguin/epoll.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/ext/sleepy_penguin/epoll.c b/ext/sleepy_penguin/epoll.c
index a507b0c..2b7f5c1 100644
--- a/ext/sleepy_penguin/epoll.c
+++ b/ext/sleepy_penguin/epoll.c
@@ -764,6 +764,15 @@ void sleepy_penguin_init_epoll(void)
 	rb_define_const(cEpoll, "RDHUP", UINT2NUM(EPOLLRDHUP));
 #endif
 
+#ifdef EPOLLWAKEUP
+	/*
+	 * This prevents system suspend while event is ready.
+	 * This requires the caller to have the CAP_BLOCK_SUSPEND capability
+	 * Available since Linux 3.5
+	 */
+	rb_define_const(cEpoll, "WAKEUP", UINT2NUM(EPOLLWAKEUP));
+#endif
+
 	/* watch for urgent read(2) data */
 	rb_define_const(cEpoll, "PRI", UINT2NUM(EPOLLPRI));
 
-- 
Eric Wong