mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-27 13:37:30 +00:00
bump(github.com/docker/spdystream):99515db39d3dad9607e0293f18152f3d59da76dc
Update spdystream to pick up a fix for a deadlock between writing data and a connection closure. Fixes #6490
This commit is contained in:
parent
6ef0f8c3c5
commit
82afb7ab1f
2
Godeps/Godeps.json
generated
2
Godeps/Godeps.json
generated
@ -162,7 +162,7 @@
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/docker/spdystream",
|
||||
"Rev": "e731c8f9f19ffd7e51a469a2de1580c1dfbb4fae"
|
||||
"Rev": "99515db39d3dad9607e0293f18152f3d59da76dc"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/elazarl/go-bindata-assetfs",
|
||||
|
15
Godeps/_workspace/src/github.com/docker/spdystream/connection.go
generated
vendored
15
Godeps/_workspace/src/github.com/docker/spdystream/connection.go
generated
vendored
@ -89,10 +89,25 @@ Loop:
|
||||
if timer != nil {
|
||||
timer.Stop()
|
||||
}
|
||||
|
||||
// Start a goroutine to drain resetChan. This is needed because we've seen
|
||||
// some unit tests with large numbers of goroutines get into a situation
|
||||
// where resetChan fills up, at least 1 call to Write() is still trying to
|
||||
// send to resetChan, the connection gets closed, and this case statement
|
||||
// attempts to grab the write lock that Write() already has, causing a
|
||||
// deadlock.
|
||||
//
|
||||
// See https://github.com/docker/spdystream/issues/49 for more details.
|
||||
go func() {
|
||||
for _ = range resetChan {
|
||||
}
|
||||
}()
|
||||
|
||||
i.writeLock.Lock()
|
||||
close(resetChan)
|
||||
i.resetChan = nil
|
||||
i.writeLock.Unlock()
|
||||
|
||||
break Loop
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user