|  | @@ -157,12 +157,10 @@ static void proxy_connection_failed(grpc_exec_ctx* exec_ctx,
 | 
	
		
			
				|  |  |                                      const char* prefix, grpc_error* error) {
 | 
	
		
			
				|  |  |    const char* msg = grpc_error_string(error);
 | 
	
		
			
				|  |  |    gpr_log(GPR_INFO, "%s: %s", prefix, msg);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |    int ep_state = conn->ep_state;
 | 
	
		
			
				|  |  |    int new_ep_state = ep_state | failure_type;
 | 
	
		
			
				|  |  |    if (ep_state != new_ep_state) {
 | 
	
		
			
				|  |  |      conn->ep_state = new_ep_state;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |      // Shutdown the endpoint (client and/or server) if both read and write
 | 
	
		
			
				|  |  |      // failures are observed after setting the failure_type.
 | 
	
		
			
				|  |  |      // To prevent calling endpoint shutdown multiple times, It is important to
 | 
	
	
		
			
				|  | @@ -175,14 +173,12 @@ static void proxy_connection_failed(grpc_exec_ctx* exec_ctx,
 | 
	
		
			
				|  |  |                                 GRPC_ERROR_REF(error));
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |      if (((ep_state & CLIENT_EP_FAIL) != CLIENT_EP_FAIL) &&
 | 
	
		
			
				|  |  |          ((new_ep_state & CLIENT_EP_FAIL) == CLIENT_EP_FAIL)) {
 | 
	
		
			
				|  |  |        grpc_endpoint_shutdown(exec_ctx, conn->client_endpoint,
 | 
	
		
			
				|  |  |                               GRPC_ERROR_REF(error));
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |    proxy_connection_unref(exec_ctx, conn, "conn_failed");
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -491,7 +487,6 @@ static void on_accept(grpc_exec_ctx* exec_ctx, void* arg,
 | 
	
		
			
				|  |  |    conn->client_endpoint = endpoint;
 | 
	
		
			
				|  |  |    conn->proxy = proxy;
 | 
	
		
			
				|  |  |    gpr_ref_init(&conn->refcount, 1);
 | 
	
		
			
				|  |  | -  conn->ep_state = 0;
 | 
	
		
			
				|  |  |    conn->pollset_set = grpc_pollset_set_create();
 | 
	
		
			
				|  |  |    grpc_pollset_set_add_pollset(exec_ctx, conn->pollset_set, proxy->pollset);
 | 
	
		
			
				|  |  |    grpc_endpoint_add_to_pollset_set(exec_ctx, endpoint, conn->pollset_set);
 |