Commit d0c736e8 authored by Davide Libenzi's avatar Davide Libenzi Committed by Dave Jones

[PATCH] epoll with selectable ET/LT behaviour ...

This patch adds selectable EdgeTriggered/LevelTriggered behaviour to
epoll.

It has been widely discussed on lkml about two weeks ago and everyone
very welcome the change.  It has been even more widely discussed through
private emails with application developers, that do not feel confortable
posting on lkml.  The great value of the patch is that selecting the LT
behaviour, applications using poll/select can be ported very easily to
epoll, making existing apps to benefit from epoll scalability with very
short ETA's.

The API remains the same with the addition of a EPOLLET event flag that
sets the LT/ET behaviour for that fd.
parent da017c5b
This diff is collapsed.
/* /*
* include/linux/eventpoll.h ( Efficent event polling implementation ) * include/linux/eventpoll.h ( Efficent event polling implementation )
* Copyright (C) 2001,...,2002 Davide Libenzi * Copyright (C) 2001,...,2003 Davide Libenzi
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
...@@ -20,6 +20,9 @@ ...@@ -20,6 +20,9 @@
#define EPOLL_CTL_DEL 2 #define EPOLL_CTL_DEL 2
#define EPOLL_CTL_MOD 3 #define EPOLL_CTL_MOD 3
/* Set the Edge Triggered behaviour for the target file descriptor */
#define EPOLLET (1 << 31)
struct epoll_event { struct epoll_event {
__u32 events; __u32 events;
__u64 data; __u64 data;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment