don't cancel streams after shutdown (#4673)

This ensures that `stream.Write` and `stream.Read` return the error code
from connection close, if the stream was closed as a result of
connection close.
This commit is contained in:
sukun
2024-09-14 10:17:48 +05:30
committed by GitHub
parent 672f906a40
commit d22d579733
4 changed files with 27 additions and 0 deletions

View File

@@ -423,6 +423,10 @@ func (s *sendStream) CancelWrite(errorCode StreamErrorCode) {
func (s *sendStream) cancelWriteImpl(errorCode qerr.StreamErrorCode, remote bool) {
s.mutex.Lock()
if s.closeForShutdownErr != nil {
s.mutex.Unlock()
return
}
if !remote {
s.cancellationFlagged = true
if s.cancelWriteErr != nil {