diff options
| author | Davide Libenzi <davidel@xmailserver.org> | 2002-11-02 19:40:57 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@penguin.transmeta.com> | 2002-11-02 19:40:57 -0800 |
| commit | 3a35d84ab5e98eb27a3be47eaee3392ea4fd7c10 (patch) | |
| tree | 7199e469903cc8f5ed8992b4d76e3aee530ef834 /fs/select.c | |
| parent | b1b782f7b7fced03a6dc51d3e52595fcfc9ac106 (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 'fs/select.c')
| -rw-r--r-- | fs/select.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/fs/select.c b/fs/select.c index 30c29f1e49f8..0e2974a8154d 100644 --- a/fs/select.c +++ b/fs/select.c @@ -77,6 +77,14 @@ void __pollwait(struct file * filp, wait_queue_head_t * wait_address, poll_table { struct poll_table_page *table = p->table; + if (!p->queue) + return; + + if (p->qproc) { + p->qproc(p->priv, wait_address); + return; + } + if (!table || POLL_TABLE_FULL(table)) { struct poll_table_page *new_table; |
