| Index: net/tools/quic/test_tools/server_thread.cc
|
| diff --git a/net/tools/quic/test_tools/server_thread.cc b/net/tools/quic/test_tools/server_thread.cc
|
| index a1bebc760d5d8b1239c2797feb89a962e25ce3d0..ecc8ccdd61c8a2a80ef59763d122b51831760a39 100644
|
| --- a/net/tools/quic/test_tools/server_thread.cc
|
| +++ b/net/tools/quic/test_tools/server_thread.cc
|
| @@ -17,9 +17,6 @@ ServerThread::ServerThread(IPEndPoint address,
|
| : SimpleThread("server_thread"),
|
| listening_(true, false),
|
| confirmed_(true, false),
|
| - pause_(true, false),
|
| - paused_(true, false),
|
| - resume_(true, false),
|
| quit_(true, false),
|
| server_(config, supported_versions),
|
| address_(address),
|
| @@ -41,12 +38,10 @@ void ServerThread::Run() {
|
|
|
| listening_.Signal();
|
| while (!quit_.IsSignaled()) {
|
| - if (pause_.IsSignaled() && !resume_.IsSignaled()) {
|
| - paused_.Signal();
|
| - resume_.Wait();
|
| - }
|
| + event_loop_mu_.Acquire();
|
| server_.WaitForEvents();
|
| MaybeNotifyOfHandshakeConfirmation();
|
| + event_loop_mu_.Release();
|
| }
|
|
|
| server_.Shutdown();
|
| @@ -68,21 +63,15 @@ void ServerThread::WaitForCryptoHandshakeConfirmed() {
|
| }
|
|
|
| void ServerThread::Pause() {
|
| - DCHECK(!pause_.IsSignaled());
|
| - pause_.Signal();
|
| - paused_.Wait();
|
| + event_loop_mu_.Acquire();
|
| }
|
|
|
| void ServerThread::Resume() {
|
| - DCHECK(!resume_.IsSignaled());
|
| - DCHECK(pause_.IsSignaled());
|
| - resume_.Signal();
|
| + event_loop_mu_.AssertAcquired(); // Checks the calling thread only!
|
| + event_loop_mu_.Release();
|
| }
|
|
|
| void ServerThread::Quit() {
|
| - if (pause_.IsSignaled() && !resume_.IsSignaled()) {
|
| - resume_.Signal();
|
| - }
|
| quit_.Signal();
|
| }
|
|
|
|
|