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 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ddb5xxx [PATCH] mips: nuke trailing whitespace 2005-09-05 00:06:07 -07:00
dec Use physical addresses at the interface level, letting drivers remap 2005-10-29 19:31:35 +01:00
galileo-boards Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ip32 [MIPS] IP32: Fix sparse warnings. 2005-11-17 16:23:48 +00:00
it8172 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
jmr3927 Use new txx9 serial driver. 2005-10-29 19:30:52 +01:00
lasat [PATCH] mips: nuke trailing whitespace 2005-09-05 00:06:07 -07:00
mach-atlas Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
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 [MIPS] Add missing arch defines for the Alchemy MTD driver. 2005-11-17 16:23:42 +00:00
mach-ddb5074 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mach-dec Use physical addresses at the interface level, letting drivers remap 2005-10-29 19:31:35 +01:00
mach-ev64120 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mach-ev96100 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mach-generic [MIPS] Make I/O helpers more customizable 2006-03-21 13:27:45 +00:00
mach-ip22 MIPS: Introduce machinery for testing for MIPSxxR1/2. 2006-01-10 13:39:06 +00:00
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 MIPS: Introduce machinery for testing for MIPSxxR1/2. 2006-01-10 13:39:06 +00:00
mach-jazz [PATCH] mips: nuke trailing whitespace 2005-09-05 00:06:07 -07:00
mach-jmr3927 [MIPS] JMR3927: Fix include wrapper symbol. 2005-11-17 16:23:54 +00:00
mach-lasat Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mach-mips [PATCH] USB: EHCI for AU1200 2006-03-20 14:49:55 -08:00
mach-ocelot Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mach-ocelot3 MIPS: Introduce machinery for testing for MIPSxxR1/2. 2006-01-10 13:39:06 +00:00
mach-pb1x00 [MIPS] Add missing arch defines for the Alchemy MTD driver. 2005-11-17 16:23:42 +00:00
mach-pnx8550 Philips PNX8550 support: MIPS32-like core with 2 Trimedias on it. 2005-10-29 19:31:54 +01:00
mach-qemu [MIPS] Qemu: Qemu is emulating a 1193.182kHz i8254 PIC. 2005-12-01 11:05:15 +00:00
mach-rm200 [MIPS] RM200: Give RM200 it's own timex.h. 2006-02-14 19:13:23 +00:00
mach-sibyte Support the MIPS32 / MIPS64 DSP ASE. 2005-10-29 19:31:17 +01:00
mach-sim Cleanup the mess in cpu_cache_init. 2005-10-29 19:32:32 +01:00
mach-yosemite MIPS: Introduce machinery for testing for MIPSxxR1/2. 2006-01-10 13:39:06 +00:00
mips-boards [MIPS] SEAD: More build fixes. 2005-11-17 16:23:57 +00:00
pci Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sgi [PATCH] sgiseeq: Configure PIO and DMA timing requests. 2005-10-18 18:03:47 -04:00
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 Support for Toshiba's RBHMA4500 eval board for the TX4938. 2005-10-29 19:31:57 +01:00
vr41xx Update Yoichi Yuasa's email address. 2006-01-10 13:39:07 +00:00
xtalk Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
8253pit.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
a.out.h [PATCH] mips: clean up 32/64-bit configuration 2005-09-05 00:06:06 -07:00
abi.h [MIPS] Make do_signal return void. 2006-02-08 17:52:25 +00:00
addrspace.h Add support for SB1A CPU. 2005-10-29 19:32:46 +01:00
asm.h Fix build with CONFIG_PRINTK disabled. 2005-10-29 19:31:18 +01:00
asmmacro-32.h kbuild: mips use generic asm-offsets.h support 2005-09-09 22:32:31 +02:00
asmmacro-64.h kbuild: mips use generic asm-offsets.h support 2005-09-09 22:32:31 +02:00
asmmacro.h [PATCH] mips: nuke trailing whitespace 2005-09-05 00:06:07 -07:00
atomic.h [MIPS] Fix atomic*_sub_if_positive return value. 2006-02-27 17:30:36 +00:00
auxvec.h [PATCH] auxiliary vector cleanups 2005-09-07 16:57:21 -07:00
bcache.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
bitops.h [MIPS] Cleanup fls implementation. 2006-02-07 13:30:24 +00:00
bootinfo.h Support for Toshiba's RBHMA4500 eval board for the TX4938. 2005-10-29 19:31:57 +01:00
branch.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
break.h Allocate break code 513 to KDB. 2005-10-29 19:30:34 +01:00
bug.h Fix weirdness in <asm/bug.h> 2005-10-29 19:32:38 +01:00
bugs.h Build fix for certain configurations. 2005-10-29 19:31:05 +01:00
byteorder.h [MIPS] MIPS64 R2 optimizations for 64-bit endianess swapping. 2006-03-21 13:27:44 +00:00
cache.h [PATCH] Kill L1_CACHE_SHIFT_MAX 2006-01-08 20:13:39 -08:00
cachectl.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cacheflush.h [MIPS] Remove wrong __user tags. 2006-02-07 13:30:25 +00:00
cacheops.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
checksum.h The type of sum in csum_tcpudp_nofold is "unsigned int", so when we assign 2005-10-29 19:32:25 +01:00
compat.h [MIPS] Further sparsification for 32-bit compat code. 2006-03-21 13:27:46 +00:00
compiler.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
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 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
current.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ddb5074.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
debug.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
delay.h MIPS: Fix mdelay(1) for 64bit kernel with HZ == 1000 2006-01-10 13:39:04 +00:00
div64.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dma-mapping.h [PATCH] gfp_t: dma-mapping (mips) 2005-10-28 08:16:48 -07:00
dma.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ds1286.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dsp.h MIPS: DSP: Set all register masks to 0x3ff. 2006-01-10 13:39:04 +00:00
elf.h MIPS: Namespace pollution: dump_regs() -> elf_dump_regs() 2006-01-10 13:39:08 +00:00
emergency-restart.h [PATCH] Add emergency_restart() 2005-07-26 14:35:41 -07:00
errno.h Delete duplicate definitions. 2005-11-07 18:05:40 +00:00
fcntl.h Complete the fcntl.h cleanup. 2005-10-29 19:32:40 +01:00
fixmap.h Delete duplicate copy of fixrange_init. 2005-10-29 19:30:28 +01:00
floppy.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
fpregdef.h [PATCH] mips: nuke trailing whitespace 2005-09-05 00:06:07 -07:00
fpu_emulator.h Now that a struct is the only member left in struct 2005-10-29 19:31:14 +01:00
fpu.h __compute_return_epc() uses CFC1 instruction which might result in a 2005-10-29 19:31:13 +01:00
futex.h Futexes for MIPS, for the time being only the R10000_LLSC_WAR version. 2005-10-29 19:32:21 +01:00
gdb-stub.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
gfx.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
gt64120.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
gt64240.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
hardirq.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
hazards.h [MIPS] SB1: Fix interrupt disable hazard. 2006-03-18 16:59:26 +00:00
highmem.h Define kmap_atomic_pfn() for MIPS. 2005-10-29 19:31:42 +01:00
hw_irq.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
i8259.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ide.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
inst.h Support the MIPS32 / MIPS64 DSP ASE. 2005-10-29 19:31:17 +01:00
interrupt.h [MIPS] TX49 MFC0 bug workaround 2006-02-07 13:30:26 +00:00
inventory.h Reformatting, remove debugging code. 2005-10-29 19:30:57 +01:00
io.h [PATCH] remove ISA legacy functions: remove the helpers 2006-03-24 07:33:19 -08:00
ioctl.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ioctls.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ipc.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ipcbuf.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
irq_cpu.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
irq.h Sparseify MIPS. 2005-10-29 19:30:50 +01:00
isadep.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
it8712.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
jazz.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
jazzdma.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
kmap_types.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
linkage.h [PATCH] abstract type/size specification for assembly 2006-03-24 07:33:25 -08:00
local.h [PATCH] mips: clean up 32/64-bit configuration 2005-09-05 00:06:06 -07:00
m48t35.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
m48t37.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
marvell.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mc146818-time.h Use rtc_lock to protect RTC operations 2005-11-07 18:05:38 +00:00
mc146818rtc.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mipsmtregs.h Virtual SMP support for the 34K. 2005-10-29 19:32:10 +01:00
mipsprom.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mipsregs.h MIPS: DSP: Put mask field into the right place. 2006-01-10 13:39:05 +00:00
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 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mmzone.h More configcheck fixes. 2005-10-29 19:32:40 +01:00
module.h Add spaces to MODULE_PROC_FAMILY values. 2005-11-07 18:05:34 +00:00
msc01_ic.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
msgbuf.h [PATCH] mips: clean up 32/64-bit configuration 2005-09-05 00:06:06 -07:00
mutex.h [PATCH] mutex subsystem, add default include/asm-*/mutex.h files 2006-01-09 15:59:19 -08:00
namei.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
nile4.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
numnodes.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
paccess.h Gcc 4.0 fixes. 2005-10-29 19:30:53 +01:00
page.h Fixup a few lose ends in explicit support for MIPS R1/R2. 2005-10-29 19:32:37 +01:00
param.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
parport.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pci.h BCM1480 HT support 2005-10-29 19:32:49 +01:00
percpu.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pgalloc.h Update MIPS to use the 4-level pagetable code thereby getting rid of 2005-10-29 19:30:31 +01:00
pgtable-32.h [MIPS] War on whitespace: cleanup initial spaces followed by tabs. 2006-03-21 13:27:47 +00:00
pgtable-64.h [PATCH] vm: remove unused/broken page_pte[_prot] macros 2005-10-30 17:37:22 -08:00
pgtable-bits.h Rename CONFIG_CPU_MIPS{32,64} to CONFIG_CPU_MIPS{32|64}_R1. 2005-10-29 19:31:37 +01:00
pgtable.h [PATCH] fix remaining missing includes 2005-11-07 07:53:41 -08:00
pmon.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
poll.h [PATCH] POLLRDHUP/EPOLLRDHUP handling for half-closed devices notifications 2006-03-25 08:22:56 -08:00
posix_types.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
prctl.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
prefetch.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
processor.h [PATCH] mips: task_stack_page() 2006-01-12 09:08:59 -08:00
ptrace.h Revise MIPS 64-bit ptrace interface 2005-10-29 19:32:29 +01:00
qemu.h [PATCH] mips: add support for Qemu system architecture 2005-09-05 00:06:04 -07:00
r4kcache.h [MIPS] sc-rm7k.c cleanup 2006-03-21 13:27:45 +00:00
reboot.h [MIPS] Rename _machine_power_off to pm_power_off so the kernel builds again. 2006-02-07 13:30:22 +00:00
reg.h [PATCH] mips: fix build warnings 2005-09-05 00:06:08 -07:00
regdef.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
resource.h [PATCH] mips: clean up 32/64-bit configuration 2005-09-05 00:06:06 -07:00
rtc.h Remove mips_rtc_lock 2005-11-07 18:05:38 +00:00
rtlx.h Turn rtlx upside down. 2005-11-07 18:05:33 +00:00
scatterlist.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sections.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
segment.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
semaphore.h [PATCH] semaphore: Remove __MUTEX_INITIALIZER() 2005-10-30 17:37:27 -08:00
sembuf.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
serial.h Use new txx9 serial driver. 2005-10-29 19:30:52 +01:00
setup.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sgialib.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sgiarcs.h [PATCH] mips: clean up 32/64-bit configuration 2005-09-05 00:06:06 -07:00
sgidefs.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
shmbuf.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
shmparam.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sigcontext.h Support the MIPS32 / MIPS64 DSP ASE. 2005-10-29 19:31:17 +01:00
siginfo.h On MIPS the struct sigev preamble is only 8 bytes. 2005-10-29 19:31:15 +01:00
signal.h [MIPS] Signal cleanup 2006-03-21 13:27:46 +00:00
sim.h kbuild: mips use generic asm-offsets.h support 2005-09-09 22:32:31 +02:00
smp.h [MIPS] SMP: Fix initialization order bug. 2006-02-27 17:30:36 +00:00
sni.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
socket.h Add SOCK_DCCP definition for MIPS also. 2005-10-29 19:32:26 +01:00
sockios.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
spinlock_types.h [PATCH] spinlock consolidation 2005-09-10 10:06:21 -07:00
spinlock.h More configcheck fixes. 2005-10-29 19:32:40 +01:00
stackframe.h [MIPS] Remove CONFIG_BUILD_ELF64. 2006-03-21 13:27:46 +00:00
stat.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
statfs.h [PATCH] mips: nuke trailing whitespace 2005-09-05 00:06:07 -07:00
string.h [MIPS] Remove buggy inline version of memscan. 2006-02-07 13:30:25 +00:00
suspend.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sysmips.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
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 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
thread_info.h [MIPS] War on whitespace: cleanup initial spaces followed by tabs. 2006-03-21 13:27:47 +00:00
time.h Use rtc_lock to protect RTC operations 2005-11-07 18:05:38 +00:00
timex.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
titan_dep.h [PATCH] mips: nuke trailing whitespace 2005-09-05 00:06:07 -07:00
tlb.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
tlbdebug.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
tlbflush.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
topology.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
traps.h More AP / SP bits for the 34K, the Malta bits and things. Still wants 2005-10-29 19:31:53 +01:00
tx3912.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
types.h [PATCH] mips: clean up 32/64-bit configuration 2005-09-05 00:06:06 -07:00
uaccess.h [MIPS] Fixes for uaccess.h with gcc >= 4.0.1 2006-02-21 16:58:22 +00:00
ucontext.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
unaligned.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
unistd.h [MIPS] Follow Uli's latest *at syscall changes. 2006-02-21 16:58:23 +00:00
user.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
vga.h [MIPS] Undefine scr_writew and scr_readw in <asm/vga.h>. 2006-03-09 18:05:10 +00:00
war.h Redo RM9000 workaround which along with other DSP ASE changes was 2005-10-29 19:31:23 +01:00
watch.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
wbflush.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
xor.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
xxs1500.h [PATCH] mips: nuke trailing whitespace 2005-09-05 00:06:07 -07:00