summaryrefslogtreecommitdiff
path: root/include/linux/poll.h
diff options
context:
space:
mode:
authorDavide Libenzi <davidel@xmailserver.org>2002-11-02 19:40:57 -0800
committerLinus Torvalds <torvalds@penguin.transmeta.com>2002-11-02 19:40:57 -0800
commit3a35d84ab5e98eb27a3be47eaee3392ea4fd7c10 (patch)
tree7199e469903cc8f5ed8992b4d76e3aee530ef834 /include/linux/poll.h
parentb1b782f7b7fced03a6dc51d3e52595fcfc9ac106 (diff)
[PATCH] epoll update r3
- EP_CTL_MOD drops an event if conditions events are met - The source file eventpoll.c moved from drivers/char to fs - Fixed a weirdness with tty's Missing: system calls for arch != i386 ...
Diffstat (limited to 'include/linux/poll.h')
-rw-r--r--include/linux/poll.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/include/linux/poll.h b/include/linux/poll.h
index 796aac51388a..318ff6ab5a53 100644
--- a/include/linux/poll.h
+++ b/include/linux/poll.h
@@ -13,6 +13,9 @@
struct poll_table_page;
typedef struct poll_table_struct {
+ int queue;
+ void *priv;
+ void (*qproc)(void *, wait_queue_head_t *);
int error;
struct poll_table_page * table;
} poll_table;
@@ -27,9 +30,24 @@ static inline void poll_wait(struct file * filp, wait_queue_head_t * wait_addres
static inline void poll_initwait(poll_table* pt)
{
+ pt->queue = 1;
+ pt->qproc = NULL;
+ pt->priv = NULL;
pt->error = 0;
pt->table = NULL;
}
+
+static inline void poll_initwait_ex(poll_table* pt, int queue,
+ void (*qproc)(void *, wait_queue_head_t *),
+ void *priv)
+{
+ pt->queue = queue;
+ pt->qproc = qproc;
+ pt->priv = priv;
+ pt->error = 0;
+ pt->table = NULL;
+}
+
extern void poll_freewait(poll_table* pt);