mirror of https://github.com/grpc/grpc-go.git
				
				
				
			finish trace with the right status
This commit is contained in:
		
							parent
							
								
									c9f0b89a96
								
							
						
					
					
						commit
						df0a2ae779
					
				
							
								
								
									
										10
									
								
								stream.go
								
								
								
								
							
							
						
						
									
										10
									
								
								stream.go
								
								
								
								
							| 
						 | 
					@ -183,14 +183,18 @@ func NewClientStream(ctx context.Context, desc *StreamDesc, cc *ClientConn, meth
 | 
				
			||||||
	cs.t = t
 | 
						cs.t = t
 | 
				
			||||||
	cs.s = s
 | 
						cs.s = s
 | 
				
			||||||
	cs.p = &parser{r: s}
 | 
						cs.p = &parser{r: s}
 | 
				
			||||||
	// Listen on ctx.Done() to detect cancellation when there is no pending
 | 
						// Listen on ctx.Done() to detect cancellation and s.Done() to detect normal termination
 | 
				
			||||||
	// I/O operations on this stream.
 | 
						// when there is no pending I/O operations on this stream.
 | 
				
			||||||
	go func() {
 | 
						go func() {
 | 
				
			||||||
		select {
 | 
							select {
 | 
				
			||||||
		case <-t.Error():
 | 
							case <-t.Error():
 | 
				
			||||||
			// Incur transport error, simply exit.
 | 
								// Incur transport error, simply exit.
 | 
				
			||||||
		case <-s.Done():
 | 
							case <-s.Done():
 | 
				
			||||||
			cs.finish(err)
 | 
								if s.StatusCode() == codes.OK {
 | 
				
			||||||
 | 
									cs.finish(nil)
 | 
				
			||||||
 | 
								} else {
 | 
				
			||||||
 | 
									cs.finish(Errorf(s.StatusCode(), "%s", s.StatusDesc()))
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
			cs.closeTransportStream(nil)
 | 
								cs.closeTransportStream(nil)
 | 
				
			||||||
		case <-s.Context().Done():
 | 
							case <-s.Context().Done():
 | 
				
			||||||
			err := s.Context().Err()
 | 
								err := s.Context().Err()
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -692,7 +692,6 @@ func (t *http2Client) handleRSTStream(f *http2.RSTStreamFrame) {
 | 
				
			||||||
		grpclog.Println("transport: http2Client.handleRSTStream found no mapped gRPC status for the received http2 error ", f.ErrCode)
 | 
							grpclog.Println("transport: http2Client.handleRSTStream found no mapped gRPC status for the received http2 error ", f.ErrCode)
 | 
				
			||||||
		s.statusCode = codes.Unknown
 | 
							s.statusCode = codes.Unknown
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	//grpclog.Println("DEBUG handleRSTStram: ", f, " | ", f.ErrCode)
 | 
					 | 
				
			||||||
	close(s.done)
 | 
						close(s.done)
 | 
				
			||||||
	s.mu.Unlock()
 | 
						s.mu.Unlock()
 | 
				
			||||||
	s.write(recvMsg{err: io.EOF})
 | 
						s.write(recvMsg{err: io.EOF})
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue