gvisor/pkg
Nicolas Lacasse 573622fdca Fix data race in fs.Async.
Replaces the WaitGroup with a RWMutex. Calls to Async hold the mutex for
reading, while AsyncBarrier takes the lock for writing. This ensures that all
executing Async work finishes before AsyncBarrier returns.

Also pushes the Async() call from Inode.Release into
gofer/InodeOperations.Release(). This removes a recursive Async call which
should not have been allowed in the first place. The gofer Release call is the
slow one (since it may make RPCs to the gofer), so putting the Async call there
makes sense.

PiperOrigin-RevId: 223093067
Change-Id: I116da7b20fce5ebab8d99c2ab0f27db7c89d890e
2018-11-27 18:17:09 -08:00
..
abi Implementation of preadv2 for Linux 4.4 support 2018-11-26 09:50:47 -08:00
amutex Mark amutex_test as flaky. 2018-10-31 19:33:09 -07:00
atomicbitops Track paths and provide a rename hook. 2018-10-23 00:20:15 -07:00
binary Track paths and provide a rename hook. 2018-10-23 00:20:15 -07:00
bits Track paths and provide a rename hook. 2018-10-23 00:20:15 -07:00
bpf Use correct company name in copyright header 2018-10-19 16:35:11 -07:00
compressio Track paths and provide a rename hook. 2018-10-23 00:20:15 -07:00
control Track paths and provide a rename hook. 2018-10-23 00:20:15 -07:00
cpuid Clean up cpuid_parse_test 2018-10-30 15:56:12 -07:00
dhcp Track paths and provide a rename hook. 2018-10-23 00:20:15 -07:00
eventchannel Track paths and provide a rename hook. 2018-10-23 00:20:15 -07:00
fd Track paths and provide a rename hook. 2018-10-23 00:20:15 -07:00
gate Track paths and provide a rename hook. 2018-10-23 00:20:15 -07:00
ilist Track paths and provide a rename hook. 2018-10-23 00:20:15 -07:00
linewriter Track paths and provide a rename hook. 2018-10-23 00:20:15 -07:00
log Add new log format that is compatible with Kubernetes 2018-11-01 17:44:58 -07:00
metric Track paths and provide a rename hook. 2018-10-23 00:20:15 -07:00
p9 Use correct company name in copyright header 2018-11-05 17:23:56 -08:00
rand Track paths and provide a rename hook. 2018-10-23 00:20:15 -07:00
refs Use correct company name in copyright header 2018-10-19 16:35:11 -07:00
seccomp Use RET_KILL_PROCESS if available in kernel 2018-11-20 22:56:51 -08:00
secio Track paths and provide a rename hook. 2018-10-23 00:20:15 -07:00
segment Use correct company name in copyright header 2018-10-19 16:35:11 -07:00
sentry Fix data race in fs.Async. 2018-11-27 18:17:09 -08:00
sleep Track paths and provide a rename hook. 2018-10-23 00:20:15 -07:00
state Track paths and provide a rename hook. 2018-10-23 00:20:15 -07:00
sync Reference upstream licenses 2018-11-20 14:05:16 -08:00
syserr Track paths and provide a rename hook. 2018-10-23 00:20:15 -07:00
syserror Track paths and provide a rename hook. 2018-10-23 00:20:15 -07:00
tcpip Make ToView non-allocating for single VectorizedViews containing a single View 2018-11-21 18:11:13 -08:00
tmutex Track paths and provide a rename hook. 2018-10-23 00:20:15 -07:00
unet Track paths and provide a rename hook. 2018-10-23 00:20:15 -07:00
urpc Track paths and provide a rename hook. 2018-10-23 00:20:15 -07:00
waiter Track paths and provide a rename hook. 2018-10-23 00:20:15 -07:00