opnsense-src/sys
David Xu 5ff2bb52cc I am comparing current pipe code with the one in 8.3-STABLE r236165,
I found 8.3 is a history BSD version using socket to implement FIFO
pipe, it uses per-file seqcount to compare with writer generation
stored in per-pipe object. The concept is after all writers are gone,
the pipe enters next generation, all old readers have not closed the
pipe should get the indication that the pipe is disconnected, result
is they should get EPIPE, SIGPIPE or get POLLHUP in poll().
But newcomer should not know that previous writters were gone, it
should treat it as a fresh session.
I am trying to bring back FIFO pipe to history behavior. It is still
unclear that if single EOF flag can represent SBS_CANTSENDMORE and
SBS_CANTRCVMORE which socket-based version is using, but I have run
the poll regression test in tool directory, output is same as the one
on 8.3-STABLE now.
I think the output "not ok 18 FIFO state 6b: poll result 0 expected 1.
expected POLLHUP; got 0" might be bogus, because newcomer should not
know that old writers were gone. I got the same behavior on Linux.
Our implementation always return POLLIN for disconnected pipe even it
should return POLLHUP, but I think it is not wise to remove POLLIN for
compatible reason, this is our history behavior.

Regression test: /usr/src/tools/regression/poll
2012-07-31 05:48:35 +00:00
..
amd64 Change (unused) prototype for stmxcsr() to match reality. 2012-07-30 19:26:02 +00:00
arm macb doesn't work, switch to ate. 2012-07-31 04:09:27 +00:00
boot Pull the tier-2 card and change the sparc64 ZFS loader to no longer probe 2012-07-27 18:23:11 +00:00
bsm
cam Remove opt_enc.h from files committed with r235911. enc(4) is the 2012-07-30 03:00:58 +00:00
cddl Partial MFV (illumos-gate 13753:2aba784c276b) 2012-07-30 23:14:24 +00:00
compat Cosmetics: define FREEBSD32_MINUSER and AOUT32_MINUSER for struct 2012-07-22 13:41:45 +00:00
conf Until now KTR_ENTRIES, which defines the size of circular buffer used in 2012-07-30 22:46:42 +00:00
contrib Update to latest git version of dtc to get new dtsv2 support, 2012-07-24 16:29:33 +00:00
crypto Add support for the extended FPU states on amd64, both for native 2012-01-21 17:45:27 +00:00
ddb Update the ddb and gdb backends for the new 'trace_thread' hook. 2012-04-12 21:34:58 +00:00
dev - Change back "d_ofs" to int8_t to not pessimize padding and size of "struct puc_cfg". 2012-07-31 05:23:23 +00:00
fs I am comparing current pipe code with the one in 8.3-STABLE r236165, 2012-07-31 05:48:35 +00:00
gdb Update the ddb and gdb backends for the new 'trace_thread' hook. 2012-04-12 21:34:58 +00:00
geom Partially revert r238886 in part of GEOM_VFS spoiling. 2012-07-29 20:04:09 +00:00
gnu/fs Fix build: 2012-05-23 06:49:50 +00:00
i386 Regen. 2012-07-30 20:45:17 +00:00
ia64 Move PCPU initialization to a new function called cpu_pcpu_setup(). 2012-07-08 18:00:22 +00:00
isa - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
kern I am comparing current pipe code with the one in 8.3-STABLE r236165, 2012-07-31 05:48:35 +00:00
kgssapi
libkern Fix unloading of libiconv module. 2012-06-11 17:42:39 +00:00
mips Merge FreeBSD/beri Perforce change @211945 to head: 2012-07-28 11:09:03 +00:00
modules Remove opt_enc.h from files committed with r235911. enc(4) is the 2012-07-30 03:00:58 +00:00
net Hardcode the loopback rx/tx checkum options for IPv6 to on without 2012-07-28 20:31:39 +00:00
net80211 Add a check for dynamic OFDM/CCK channel types. 2012-07-01 04:25:49 +00:00
netatalk Fix typos 2012-02-28 15:07:05 +00:00
netgraph Add version so others can depend on this module 2012-07-27 13:57:28 +00:00
netinet Fix the sctp_sockstore union such that userland programs don't depend 2012-07-26 08:10:29 +00:00
netinet6 Properly apply #ifdef INET and leave a comment that we are (will) apply 2012-07-31 05:44:03 +00:00
netipsec Fix a bug introduced in r221129 that leads to a panic wen using bundled 2012-07-22 17:46:05 +00:00
netipx Convert all users of IF_ADDR_LOCK to use new locking macros that specify 2012-01-05 19:00:36 +00:00
netnatm
netncp Add characters mapping for codepages used in Germany. 2012-06-01 03:59:08 +00:00
netsmb Change a duplicated check to clarify that we really want to set a 2012-07-10 21:02:59 +00:00
nfs Add multi-FIB IPv6 support to the core network stack supplementing 2012-02-03 13:08:44 +00:00
nfsclient PR# 165923 reported intermittent write failures for dirty 2012-05-12 12:02:51 +00:00
nfsserver Honor NFSv3 commit call (RFC 1813, Section 3.3.21) where when count is 0, 2011-12-15 02:26:53 +00:00
nlm jwd@ reported a problem via email to freebsd-fs@ on Aug 25, 2011 2012-01-31 02:11:05 +00:00
ofed Fix clang warning when compiling iw_cxgb. 2012-06-25 16:52:27 +00:00
opencrypto
pc98 Partially revert r217515 so that the mem_range_softc variable is always 2012-07-09 20:42:08 +00:00
pci intpm: add ATI IXP400 pci id 2012-04-16 10:33:46 +00:00
powerpc Avoid recursion on the pvh global lock in the aim oea pmap. 2012-07-10 22:10:21 +00:00
rpc
security Check vplabel for NULL before dereferencing it. Fixes a panic 2012-05-03 15:51:34 +00:00
sparc64 Switch back to the 4BSD scheduler for now. There is some more or less 2012-06-30 14:55:36 +00:00
sys I am comparing current pipe code with the one in 8.3-STABLE r236165, 2012-07-31 05:48:35 +00:00
teken
tools Make vnode_if.awk parse vnode operations with underscores, like VOP_FOO_BAR. 2012-02-21 19:35:59 +00:00
ufs Use NULL instead of 0 for pointers 2012-07-22 15:40:31 +00:00
vm Eliminate an unneeded declaration. (I should have removed this as part 2012-07-30 20:38:37 +00:00
x86 Add rmb() to tsc_read_##x to enforce serialization of rdtsc captures. 2012-07-24 22:10:11 +00:00
xdr
xen blkif interface comment cleanups. No functional changes 2012-02-29 17:47:01 +00:00
Makefile Add sys/ofed to the 'make cscope' target. 2012-03-20 18:05:15 +00:00