gvisor/pkg
Brian Geffon 4fd1d40e1d Rpcinet needs to track shutdown state for blocking sockets.
Because rpcinet will emulate a blocking socket backed by an rpc based
non-blocking socket. In the event of a shutdown(SHUT_RD) followed by a
read a non-blocking socket is allowed to return an EWOULDBLOCK however
since a blocking socket knows it cannot receive anymore data it would
block indefinitely and in this situation linux returns 0. We have to
track this on the rpcinet sentry side so we can emulate that behavior
because the remote side has no way to know if the socket is actually
blocking within the sentry.

PiperOrigin-RevId: 201201618
Change-Id: I4ac3a7b74b5dae471ab97c2e7d33b83f425aedac
2018-06-19 10:43:30 -07:00
..
abi Implement sysv shm. 2018-05-17 15:06:19 -07:00
amutex Check in gVisor. 2018-04-28 01:44:26 -04:00
atomicbitops Check in gVisor. 2018-04-28 01:44:26 -04:00
binary Check in gVisor. 2018-04-28 01:44:26 -04:00
bits Check in gVisor. 2018-04-28 01:44:26 -04:00
bpf Add SyscallRules that supports argument filtering 2018-06-01 13:40:52 -07:00
compressio Fix warning: redundant if ...; err != nil check, just return error instead. 2018-05-08 09:51:56 -07:00
control Check in gVisor. 2018-04-28 01:44:26 -04:00
cpuid Fix misspellings 2018-05-07 16:38:01 -07:00
dhcp Replace crypto/rand with internal rand package 2018-06-15 15:36:00 -07:00
eventchannel Check in gVisor. 2018-04-28 01:44:26 -04:00
fd Check in gVisor. 2018-04-28 01:44:26 -04:00
gate Add mising license headers. 2018-04-28 18:10:24 -07:00
hashio Check in gVisor. 2018-04-28 01:44:26 -04:00
ilist Check in gVisor. 2018-04-28 01:44:26 -04:00
linewriter Check in gVisor. 2018-04-28 01:44:26 -04:00
log Fix misspellings. 2018-05-03 14:06:13 -07:00
metric Check in gVisor. 2018-04-28 01:44:26 -04:00
p9 Fix warning: redundant if ...; err != nil check, just return error instead. 2018-05-08 09:51:56 -07:00
rand Replace crypto/rand with internal rand package 2018-06-15 15:36:00 -07:00
refs Implement sysv shm. 2018-05-17 15:06:19 -07:00
seccomp Add SyscallRules that supports argument filtering 2018-06-01 13:40:52 -07:00
secio Check in gVisor. 2018-04-28 01:44:26 -04:00
segment Check in gVisor. 2018-04-28 01:44:26 -04:00
sentry Rpcinet needs to track shutdown state for blocking sockets. 2018-06-19 10:43:30 -07:00
sleep Add mising license headers. 2018-04-28 18:10:24 -07:00
state state: serialize string as bytes instead of protobuf string. 2018-05-08 17:23:50 -07:00
sync Check in gVisor. 2018-04-28 01:44:26 -04:00
syserr Clarify that syserr.New must only be called during init 2018-05-22 11:54:31 -07:00
syserror Check in gVisor. 2018-04-28 01:44:26 -04:00
tcpip Replace crypto/rand with internal rand package 2018-06-15 15:36:00 -07:00
tmutex Check in gVisor. 2018-04-28 01:44:26 -04:00
unet Set CLOEXEC option to sockets 2018-06-11 16:45:50 -07:00
urpc Remove dead code in urpc 2018-05-05 01:22:23 -07:00
waiter Poll should wake up on ECONNREFUSED with no mask. 2018-05-24 15:46:50 -07:00