correclty detected the closed state of a stream

fixes #380
This commit is contained in:
Marten Seemann
2017-01-07 10:53:54 +07:00
parent 7a91794292
commit d6a0a145a4
3 changed files with 64 additions and 2 deletions

View File

@@ -310,7 +310,11 @@ func (s *stream) finishedWriteAndSentFin() bool {
}
func (s *stream) finished() bool {
return s.cancelled.Get() || (s.finishedReading.Get() && s.finishedWriteAndSentFin())
return s.cancelled.Get() ||
(s.finishedReading.Get() && s.finishedWriteAndSentFin()) ||
(s.resetRemotely.Get() && s.rstSent.Get()) ||
(s.finishedReading.Get() && s.rstSent.Get()) ||
(s.finishedWriteAndSentFin() && s.resetRemotely.Get())
}
func (s *stream) StreamID() protocol.StreamID {