Skip to content

Commit

Permalink
fix epoll single pass code and add wait-exclusive flag
Browse files Browse the repository at this point in the history
Fixes the epoll single pass code.  During the unlocked event delivery (to
userspace) code, the poll callback can re-issue new events, and we must
receive them correctly.  Since we loop in a lockless fashion, we want to be
O(nready), and we don't want to flash on/off the spinlock for every event, we
have the poll callback to use a secondary list to queue events while we're
inside the event delivery loop.  The rw_semaphore has been turned into a
mutex.  This patch also adds the wait-exclusive flag, as suggested by Davi
Arnaut.

Signed-off-by: Davide Libenzi <davidel@xmailserver.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  • Loading branch information
Davide Libenzi authored and Linus Torvalds committed May 15, 2007
1 parent faa8b6c commit d47de16
Showing 1 changed file with 166 additions and 156 deletions.
Loading

0 comments on commit d47de16

Please sign in to comment.