Do not busy loop waiting to process MAX_STREAMS if liveness testing is in progress.

PiperOrigin-RevId: 324215585
Change-Id: I7942623b9bb401d3982c644ad45297bb8a01ae06
diff --git a/quic/core/quic_session.h b/quic/core/quic_session.h
index b15bb3a..a366ea5 100644
--- a/quic/core/quic_session.h
+++ b/quic/core/quic_session.h
@@ -494,6 +494,10 @@
     return connection()->helper()->GetClock();
   }
 
+  bool liveness_testing_in_progress() const {
+    return liveness_testing_in_progress_;
+  }
+
  protected:
   using StreamMap = QuicHashMap<QuicStreamId, std::unique_ptr<QuicStream>>;
 
diff --git a/quic/tools/quic_spdy_client_base.cc b/quic/tools/quic_spdy_client_base.cc
index 6ee3ad6..f7d86aa 100644
--- a/quic/tools/quic_spdy_client_base.cc
+++ b/quic/tools/quic_spdy_client_base.cc
@@ -181,7 +181,8 @@
   }
   if (VersionHasIetfQuicFrames(client_session()->transport_version())) {
     // Process MAX_STREAMS from peer.
-    while (!client_session()->CanOpenNextOutgoingBidirectionalStream()) {
+    while (!client_session()->CanOpenNextOutgoingBidirectionalStream() &&
+           !client_session()->liveness_testing_in_progress()) {
       network_helper()->RunEventLoop();
     }
   }