summaryrefslogtreecommitdiffstats
path: root/sys/netinet/tcp_timer.c
diff options
context:
space:
mode:
authorpjd <pjd@FreeBSD.org>2013-03-03 23:39:30 +0000
committerpjd <pjd@FreeBSD.org>2013-03-03 23:39:30 +0000
commitc3b73942d316ae6fa383dd91712f0e455d5e6d55 (patch)
tree0378dedd447b908d3cc1885a41671b9d4908eaad /sys/netinet/tcp_timer.c
parent386f382f2ddeaeb0e83bfb511fd8db942023f01a (diff)
downloadFreeBSD-src-c3b73942d316ae6fa383dd91712f0e455d5e6d55.zip
FreeBSD-src-c3b73942d316ae6fa383dd91712f0e455d5e6d55.tar.gz
For some reason when I started to pass filedescent structures instead of
pointers to the file structure receiving descriptors stopped to work when also at least few kilobytes of data is being send. In the kernel the soreceive_generic() function doesn't see control mbuf as the first mbuf and unp_externalize() is never called, first 6(?) kilobytes of data is missing as well on receiving end. This breaks for example tmux. I don't know yet why going from 8 bytes to sizeof(struct filedescent) per descriptor (or even to 16 bytes per descriptor) breaks things, but to work-around it for now use 8 bytes per file descriptor at the cost of memory allocation. Reported by: flo, Diane Bruce, Jan Beich <jbeich@tormail.org> Simple testcase provided by: mjg
Diffstat (limited to 'sys/netinet/tcp_timer.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud