summaryrefslogtreecommitdiffhomepage
path: root/pkg/tcpip/transport/tcp/dispatcher.go
diff options
context:
space:
mode:
authorgVisor bot <gvisor-bot@google.com>2020-01-15 21:35:57 +0000
committergVisor bot <gvisor-bot@google.com>2020-01-15 21:35:57 +0000
commit0f82a58822a207d9fb067f55e41bb0e278b5c8ef (patch)
tree5991ceac3bd518595cac69850fae61b24e1940ad /pkg/tcpip/transport/tcp/dispatcher.go
parentaaf481b4f1184b8a3f98a4179b59b96eb09d3de8 (diff)
parent275ac8ce1debf89a22eb1150df3bf9ba7a0bc9ba (diff)
Merge release-20191213.0-119-g275ac8c (automated)
Diffstat (limited to 'pkg/tcpip/transport/tcp/dispatcher.go')
-rwxr-xr-xpkg/tcpip/transport/tcp/dispatcher.go6
1 files changed, 6 insertions, 0 deletions
diff --git a/pkg/tcpip/transport/tcp/dispatcher.go b/pkg/tcpip/transport/tcp/dispatcher.go
index a72f0c379..e18012ac0 100755
--- a/pkg/tcpip/transport/tcp/dispatcher.go
+++ b/pkg/tcpip/transport/tcp/dispatcher.go
@@ -119,6 +119,12 @@ func (p *processor) handleSegments() {
// direct delivery to ensure low latency and avoid
// scheduler interactions.
if err := ep.handleSegments(true /* fastPath */); err != nil || ep.EndpointState() == StateClose {
+ // Send any active resets if required.
+ if err != nil {
+ ep.mu.Lock()
+ ep.resetConnectionLocked(err)
+ ep.mu.Unlock()
+ }
ep.notifyProtocolGoroutine(notifyTickleWorker)
ep.workMu.Unlock()
continue