gvisor/pkg
Bhasker Hariharan c1761378a9 Fix the logic for sending zero window updates.
Today we have the logic split in two places between endpoint Read() and the
worker goroutine which actually sends a zero window. This change makes it so
that when a zero window ACK is sent we set a flag in the endpoint which can be
read by the endpoint to decide if it should notify the worker to send a
nonZeroWindow update.

The worker now does not do the check again but instead sends an ACK and flips
the flag right away.

Similarly today when SO_RECVBUF is set the SetSockOpt call has logic
to decide if a zero window update is required. Rather than do that we move
the logic to the worker goroutine and it can check the zeroWindow flag
and send an update if required.

PiperOrigin-RevId: 254505447
2019-06-21 18:31:31 -07:00
..
abi Update comment 2019-06-21 10:56:42 -07:00
amutex Unmark amutex_test as flaky. 2019-06-20 12:58:04 -07:00
atomicbitops Update canonical repository. 2019-06-13 16:50:15 -07:00
binary Update canonical repository. 2019-06-13 16:50:15 -07:00
bits Update canonical repository. 2019-06-13 16:50:15 -07:00
bpf Update canonical repository. 2019-06-13 16:50:15 -07:00
compressio Update canonical repository. 2019-06-13 16:50:15 -07:00
control Update canonical repository. 2019-06-13 16:50:15 -07:00
cpuid Update canonical repository. 2019-06-13 16:50:15 -07:00
eventchannel Update canonical repository. 2019-06-13 16:50:15 -07:00
fd Update canonical repository. 2019-06-13 16:50:15 -07:00
fdnotifier Update canonical repository. 2019-06-13 16:50:15 -07:00
flipcall Add //pkg/flipcall. 2019-06-21 14:47:04 -07:00
gate Update canonical repository. 2019-06-13 16:50:15 -07:00
ilist Update canonical repository. 2019-06-13 16:50:15 -07:00
linewriter Update canonical repository. 2019-06-13 16:50:15 -07:00
log Update canonical repository. 2019-06-13 16:50:15 -07:00
memutil Update canonical repository. 2019-06-13 16:50:15 -07:00
metric Update canonical repository. 2019-06-13 16:50:15 -07:00
p9 Remove O(n) lookup on unlink/rename 2019-06-21 16:27:26 -07:00
procid Update canonical repository. 2019-06-13 16:50:15 -07:00
rand Update canonical repository. 2019-06-13 16:50:15 -07:00
refs Update canonical repository. 2019-06-13 16:50:15 -07:00
seccomp Update canonical repository. 2019-06-13 16:50:15 -07:00
secio Update canonical repository. 2019-06-13 16:50:15 -07:00
segment Update canonical repository. 2019-06-13 16:50:15 -07:00
sentry gvisor/fs: getdents returns 0 if offset is equal to FileMaxOffset 2019-06-21 17:25:17 -07:00
sleep Update canonical repository. 2019-06-13 16:50:15 -07:00
state Update canonical repository. 2019-06-13 16:50:15 -07:00
syserr Update canonical repository. 2019-06-13 16:50:15 -07:00
syserror Update canonical repository. 2019-06-13 16:50:15 -07:00
tcpip Fix the logic for sending zero window updates. 2019-06-21 18:31:31 -07:00
tmutex Update canonical repository. 2019-06-13 16:50:15 -07:00
unet Update canonical repository. 2019-06-13 16:50:15 -07:00
urpc Update canonical repository. 2019-06-13 16:50:15 -07:00
waiter Update canonical repository. 2019-06-13 16:50:15 -07:00