diff options
author | Arve Hjønnevåg <arve@android.com> | 2012-05-01 21:33:34 +0200 |
---|---|---|
committer | Rafael J. Wysocki <rjw@sisk.pl> | 2012-05-05 21:50:41 +0200 |
commit | 4d7e30d98939a0340022ccd49325a3d70f7e0238 (patch) | |
tree | 45307bd3a0b7fafc71aea41fc518f42e2e810e76 /include/linux/eventpoll.h | |
parent | b86ff9820fd5df69295273b9aa68e58786ffc23f (diff) | |
download | lwn-4d7e30d98939a0340022ccd49325a3d70f7e0238.tar.gz lwn-4d7e30d98939a0340022ccd49325a3d70f7e0238.zip |
epoll: Add a flag, EPOLLWAKEUP, to prevent suspend while epoll events are ready
When an epoll_event, that has the EPOLLWAKEUP flag set, is ready, a
wakeup_source will be active to prevent suspend. This can be used to
handle wakeup events from a driver that support poll, e.g. input, if
that driver wakes up the waitqueue passed to epoll before allowing
suspend.
Signed-off-by: Arve Hjønnevåg <arve@android.com>
Reviewed-by: NeilBrown <neilb@suse.de>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Diffstat (limited to 'include/linux/eventpoll.h')
-rw-r--r-- | include/linux/eventpoll.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/linux/eventpoll.h b/include/linux/eventpoll.h index 657ab55beda0..6f8be328770a 100644 --- a/include/linux/eventpoll.h +++ b/include/linux/eventpoll.h @@ -26,6 +26,18 @@ #define EPOLL_CTL_DEL 2 #define EPOLL_CTL_MOD 3 +/* + * Request the handling of system wakeup events so as to prevent system suspends + * from happening while those events are being processed. + * + * Assuming neither EPOLLET nor EPOLLONESHOT is set, system suspends will not be + * re-allowed until epoll_wait is called again after consuming the wakeup + * event(s). + * + * Requires CAP_EPOLLWAKEUP + */ +#define EPOLLWAKEUP (1 << 29) + /* Set the One Shot behaviour for the target file descriptor */ #define EPOLLONESHOT (1 << 30) |