瀏覽代碼

Fix race for recvBuf

Erik Dubbelboer 8 年之前
父節點
當前提交
f30b49b217
共有 1 個文件被更改,包括 3 次插入0 次删除
  1. 3 0
      stream.go

+ 3 - 0
stream.go

@@ -91,10 +91,13 @@ START:
 	case streamRemoteClose:
 		fallthrough
 	case streamClosed:
+		s.recvLock.Lock()
 		if s.recvBuf == nil || s.recvBuf.Len() == 0 {
+			s.recvLock.Unlock()
 			s.stateLock.Unlock()
 			return 0, io.EOF
 		}
+		s.recvLock.Unlock()
 	case streamReset:
 		s.stateLock.Unlock()
 		return 0, ErrConnectionReset