kernel-ark/include/asm-mips
Davide Libenzi f348d70a32 [PATCH] POLLRDHUP/EPOLLRDHUP handling for half-closed devices notifications
Implement the half-closed devices notifiation, by adding a new POLLRDHUP
(and its alias EPOLLRDHUP) bit to the existing poll/select sets.  Since the
existing POLLHUP handling, that does not report correctly half-closed
devices, was feared to be changed, this implementation leaves the current
POLLHUP reporting unchanged and simply add a new bit that is set in the few
places where it makes sense.  The same thing was discussed and conceptually
agreed quite some time ago:

http://lkml.org/lkml/2003/7/12/116

Since this new event bit is added to the existing Linux poll infrastruture,
even the existing poll/select system calls will be able to use it.  As far
as the existing POLLHUP handling, the patch leaves it as is.  The
pollrdhup-2.6.16.rc5-0.10.diff defines the POLLRDHUP for all the existing
archs and sets the bit in the six relevant files.  The other attached diff
is the simple change required to sys/epoll.h to add the EPOLLRDHUP
definition.

There is "a stupid program" to test POLLRDHUP delivery here:

 http://www.xmailserver.org/pollrdhup-test.c

It tests poll(2), but since the delivery is same epoll(2) will work equally.

Signed-off-by: Davide Libenzi <davidel@xmailserver.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Michael Kerrisk <mtk-manpages@gmx.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-25 08:22:56 -08:00
..
arc
ddb5xxx
dec
galileo-boards
ip32
it8172
jmr3927
lasat
mach-atlas
mach-au1x00 [MIPS] Au1200: Make KGDB compile 2006-02-07 13:30:23 +00:00
mach-cobalt [MIPS] Add early console for Cobalt. 2006-03-21 13:27:44 +00:00
mach-db1x00
mach-ddb5074
mach-dec
mach-ev64120
mach-ev96100
mach-generic [MIPS] Make I/O helpers more customizable 2006-03-21 13:27:45 +00:00
mach-ip22
mach-ip27 [MIPS] Make I/O helpers more customizable 2006-03-21 13:27:45 +00:00
mach-ip32 [MIPS] Make I/O helpers more customizable 2006-03-21 13:27:45 +00:00
mach-ja
mach-jazz
mach-jmr3927
mach-lasat
mach-mips [PATCH] USB: EHCI for AU1200 2006-03-20 14:49:55 -08:00
mach-ocelot
mach-ocelot3
mach-pb1x00
mach-pnx8550
mach-qemu
mach-rm200 [MIPS] RM200: Give RM200 it's own timex.h. 2006-02-14 19:13:23 +00:00
mach-sibyte
mach-sim
mach-yosemite
mips-boards
pci
sgi
sibyte [MIPS] Sibyte: Fix race in sb1250_gettimeoffset(). 2006-03-18 16:59:30 +00:00
sn [MIPS] War on whitespace: cleanup initial spaces followed by tabs. 2006-03-21 13:27:47 +00:00
tx4927 [MIPS] TX49x7: Fix reporting of the CPU name and PCI clock 2006-02-07 13:30:26 +00:00
tx4938
vr41xx
xtalk
8253pit.h
a.out.h
abi.h [MIPS] Make do_signal return void. 2006-02-08 17:52:25 +00:00
addrspace.h
asm.h
asmmacro-32.h
asmmacro-64.h
asmmacro.h
atomic.h [MIPS] Fix atomic*_sub_if_positive return value. 2006-02-27 17:30:36 +00:00
auxvec.h
bcache.h
bitops.h [MIPS] Cleanup fls implementation. 2006-02-07 13:30:24 +00:00
bootinfo.h
branch.h
break.h
bug.h
bugs.h
byteorder.h [MIPS] MIPS64 R2 optimizations for 64-bit endianess swapping. 2006-03-21 13:27:44 +00:00
cache.h
cachectl.h
cacheflush.h [MIPS] Remove wrong __user tags. 2006-02-07 13:30:25 +00:00
cacheops.h
checksum.h
compat.h [MIPS] Further sparsification for 32-bit compat code. 2006-03-21 13:27:46 +00:00
compiler.h
cpu-features.h [MIPS] local_r4k_flush_cache_page fix 2006-03-18 16:59:27 +00:00
cpu-info.h [MIPS] local_r4k_flush_cache_page fix 2006-03-18 16:59:27 +00:00
cpu.h [MIPS] Fix CPU type bitmasks for MIPS III, IV and V. 2006-02-14 19:13:25 +00:00
cputime.h
current.h
ddb5074.h
debug.h
delay.h
div64.h
dma-mapping.h
dma.h
ds1286.h
dsp.h
elf.h
emergency-restart.h
errno.h
fcntl.h
fixmap.h
floppy.h
fpregdef.h
fpu_emulator.h
fpu.h
futex.h
gdb-stub.h
gfx.h
gt64120.h
gt64240.h
hardirq.h
hazards.h [MIPS] SB1: Fix interrupt disable hazard. 2006-03-18 16:59:26 +00:00
highmem.h
hw_irq.h
i8259.h
ide.h
inst.h
interrupt.h [MIPS] TX49 MFC0 bug workaround 2006-02-07 13:30:26 +00:00
inventory.h
io.h [PATCH] remove ISA legacy functions: remove the helpers 2006-03-24 07:33:19 -08:00
ioctl.h
ioctls.h
ipc.h
ipcbuf.h
irq_cpu.h
irq.h
isadep.h
it8712.h
jazz.h
jazzdma.h
kmap_types.h
linkage.h [PATCH] abstract type/size specification for assembly 2006-03-24 07:33:25 -08:00
local.h
m48t35.h
m48t37.h
marvell.h
mc146818-time.h
mc146818rtc.h
mipsmtregs.h
mipsprom.h
mipsregs.h
mman.h [PATCH] add asm-generic/mman.h 2006-02-15 15:32:22 -08:00
mmu_context.h [MIPS] Remove CONFIG_BUILD_ELF64. 2006-03-21 13:27:46 +00:00
mmu.h
mmzone.h
module.h
msc01_ic.h
msgbuf.h
mutex.h
namei.h
nile4.h
numnodes.h
paccess.h
page.h
param.h
parport.h
pci.h
percpu.h
pgalloc.h
pgtable-32.h [MIPS] War on whitespace: cleanup initial spaces followed by tabs. 2006-03-21 13:27:47 +00:00
pgtable-64.h
pgtable-bits.h
pgtable.h
pmon.h
poll.h [PATCH] POLLRDHUP/EPOLLRDHUP handling for half-closed devices notifications 2006-03-25 08:22:56 -08:00
posix_types.h
prctl.h
prefetch.h
processor.h
ptrace.h
qemu.h
r4kcache.h [MIPS] sc-rm7k.c cleanup 2006-03-21 13:27:45 +00:00
reboot.h
reg.h
regdef.h
resource.h
rtc.h
rtlx.h
scatterlist.h
sections.h
segment.h
semaphore.h
sembuf.h
serial.h
setup.h
sgialib.h
sgiarcs.h
sgidefs.h
shmbuf.h
shmparam.h
sigcontext.h
siginfo.h
signal.h [MIPS] Signal cleanup 2006-03-21 13:27:46 +00:00
sim.h
smp.h [MIPS] SMP: Fix initialization order bug. 2006-02-27 17:30:36 +00:00
sni.h
socket.h
sockios.h
spinlock_types.h
spinlock.h
stackframe.h [MIPS] Remove CONFIG_BUILD_ELF64. 2006-03-21 13:27:46 +00:00
stat.h
statfs.h
string.h [MIPS] Remove buggy inline version of memscan. 2006-02-07 13:30:25 +00:00
suspend.h
sysmips.h
system.h [MIPS] Reformat __xchg(). 2006-03-21 13:27:47 +00:00
termbits.h It's UTF-8 2006-03-22 00:13:35 +01:00
termios.h
thread_info.h [MIPS] War on whitespace: cleanup initial spaces followed by tabs. 2006-03-21 13:27:47 +00:00
time.h
timex.h
titan_dep.h
tlb.h
tlbdebug.h
tlbflush.h
topology.h
traps.h
tx3912.h
types.h
uaccess.h [MIPS] Fixes for uaccess.h with gcc >= 4.0.1 2006-02-21 16:58:22 +00:00
ucontext.h
unaligned.h
unistd.h [MIPS] Follow Uli's latest *at syscall changes. 2006-02-21 16:58:23 +00:00
user.h
vga.h [MIPS] Undefine scr_writew and scr_readw in <asm/vga.h>. 2006-03-09 18:05:10 +00:00
war.h
watch.h
wbflush.h
xor.h
xxs1500.h