diff options
author | Jamie Liu <jamieliu@google.com> | 2019-09-19 22:51:17 -0700 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2019-09-19 22:52:56 -0700 |
commit | e9af227a61b836310fdd0c8543c31afe094af5ae (patch) | |
tree | 4864a3ee0044c461c5a41458b402317f6ea30b28 /pkg/refs/refcounter.go | |
parent | 75781ab3efa7b377c6dc4cf26840323f504d5eb5 (diff) |
Fix p9 integration of flipcall.
- Do not call Rread.SetPayload(flipcall packet window) in p9.channel.recv().
- Ignore EINTR from ppoll() in p9.Client.watch().
- Clean up handling of client socket FD lifetimes so that p9.Client.watch()
never ppoll()s a closed FD.
- Make p9test.Harness.Finish() call clientSocket.Shutdown() instead of
clientSocket.Close() for the same reason.
- Rework channel reuse to avoid leaking channels in the following case (suppose
we have two channels):
sendRecvChannel
len(channels) == 2 => idx = 1
inuse[1] = ch0
sendRecvChannel
len(channels) == 1 => idx = 0
inuse[0] = ch1
inuse[1] = nil
sendRecvChannel
len(channels) == 1 => idx = 0
inuse[0] = ch0
inuse[0] = nil
inuse[0] == nil => ch0 leaked
- Avoid deadlocking p9.Client.watch() by calling channelsWg.Wait() without
holding channelsMu.
- Bump p9test:client_test size to medium.
PiperOrigin-RevId: 270200314
Diffstat (limited to 'pkg/refs/refcounter.go')
0 files changed, 0 insertions, 0 deletions