|  | @@ -171,7 +171,6 @@ const char *kCFStreamVarName = "grpc_cfstream";
 | 
	
		
			
				|  |  |                // Clean up _handler so that no more responses are reported to the handler.
 | 
	
		
			
				|  |  |                self->_handler = nil;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -              // If server terminated the call we should close the send path too.
 | 
	
		
			
				|  |  |                if (self->_call) {
 | 
	
		
			
				|  |  |                  [self->_pipe writesFinishedWithError:nil];
 | 
	
		
			
				|  |  |                  self->_call = nil;
 | 
	
	
		
			
				|  | @@ -222,7 +221,6 @@ const char *kCFStreamVarName = "grpc_cfstream";
 | 
	
		
			
				|  |  |      if (self->_call) {
 | 
	
		
			
				|  |  |        [self->_pipe writesFinishedWithError:nil];
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | -    self->_call = nil;
 | 
	
		
			
				|  |  |      self->_pipe = nil;
 | 
	
		
			
				|  |  |    });
 | 
	
		
			
				|  |  |  }
 | 
	
	
		
			
				|  | @@ -247,10 +245,11 @@ const char *kCFStreamVarName = "grpc_cfstream";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  - (void)issueClosedWithTrailingMetadata:(NSDictionary *)trailingMetadata
 | 
	
		
			
				|  |  |                                    error:(NSError *)error {
 | 
	
		
			
				|  |  | -  id<GRPCResponseHandler> handler = self->_handler;
 | 
	
		
			
				|  |  | +  id<GRPCResponseHandler> handler = _handler;
 | 
	
		
			
				|  |  | +  NSDictionary *trailers = _call.responseTrailers;
 | 
	
		
			
				|  |  |    if ([handler respondsToSelector:@selector(closedWithTrailingMetadata:error:)]) {
 | 
	
		
			
				|  |  |      dispatch_async(handler.dispatchQueue, ^{
 | 
	
		
			
				|  |  | -    [handler closedWithTrailingMetadata:self->_call.responseTrailers error:error];
 | 
	
		
			
				|  |  | +    [handler closedWithTrailingMetadata:trailers error:error];
 | 
	
		
			
				|  |  |      });
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  }
 |