|  | @@ -991,10 +991,7 @@ directory_initiate_command_rend(const tor_addr_t *_addr,
 | 
	
		
			
				|  |  |      switch (connection_connect(TO_CONN(conn), conn->base_.address, &addr,
 | 
	
		
			
				|  |  |                                 dir_port, &socket_error)) {
 | 
	
		
			
				|  |  |        case -1:
 | 
	
		
			
				|  |  | -        connection_dir_request_failed(conn); /* retry if we want */
 | 
	
		
			
				|  |  | -        /* XXX we only pass 'conn' above, not 'resource', 'payload',
 | 
	
		
			
				|  |  | -         * etc. So in many situations it can't retry! -RD */
 | 
	
		
			
				|  |  | -        connection_free(TO_CONN(conn));
 | 
	
		
			
				|  |  | +        connection_mark_for_close(TO_CONN(conn));
 | 
	
		
			
				|  |  |          return;
 | 
	
		
			
				|  |  |        case 1:
 | 
	
		
			
				|  |  |          /* start flushing conn */
 |