summaryrefslogtreecommitdiff
path: root/fs/fifo.c
diff options
context:
space:
mode:
authorDavide Libenzi <davidel@xmailserver.org>2007-05-15 01:40:41 -0700
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-15 08:53:59 -0700
commitd47de16c7221968d3eab899d7540efa5ba77af5a (patch)
tree289c3dc8e4b3121a9a4b1846ae9acbd355b4b541 /fs/fifo.c
parentfaa8b6c3c2e1454175609167a25ae525d075f045 (diff)
fix epoll single pass code and add wait-exclusive flag
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>
Diffstat (limited to 'fs/fifo.c')
0 files changed, 0 insertions, 0 deletions