diff options
author | gVisor bot <gvisor-bot@google.com> | 2020-02-24 18:35:21 +0000 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2020-02-24 18:35:21 +0000 |
commit | 137f1d92f4dcc5e1dd3430c714b503209cec5beb (patch) | |
tree | a469326ec9a0be502a19b1d3233074d9c21ee276 /pkg/tcpip/stack/stack.go | |
parent | c9bfc173aa5b829cb52b25008a9550d3469c86e8 (diff) | |
parent | c37b196455e8b3816298e3eea98e4ee2dab8d368 (diff) |
Merge release-20200219.0-27-gc37b196 (automated)
Diffstat (limited to 'pkg/tcpip/stack/stack.go')
-rw-r--r-- | pkg/tcpip/stack/stack.go | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/pkg/tcpip/stack/stack.go b/pkg/tcpip/stack/stack.go index 900dd46c5..ebb6c5e3b 100644 --- a/pkg/tcpip/stack/stack.go +++ b/pkg/tcpip/stack/stack.go @@ -1446,7 +1446,13 @@ func (s *Stack) RestoreCleanupEndpoints(es []TransportEndpoint) { // Endpoints created or modified during this call may not get closed. func (s *Stack) Close() { for _, e := range s.RegisteredEndpoints() { - e.Close() + e.Abort() + } + for _, p := range s.transportProtocols { + p.proto.Close() + } + for _, p := range s.networkProtocols { + p.Close() } } @@ -1464,6 +1470,12 @@ func (s *Stack) Wait() { for _, e := range s.CleanupEndpoints() { e.Wait() } + for _, p := range s.transportProtocols { + p.proto.Wait() + } + for _, p := range s.networkProtocols { + p.Wait() + } s.mu.RLock() defer s.mu.RUnlock() |