| Index: google_apis/gcm/engine/connection_factory_impl.cc
|
| diff --git a/google_apis/gcm/engine/connection_factory_impl.cc b/google_apis/gcm/engine/connection_factory_impl.cc
|
| index 2d459f20d2f88159ba18e8bef48e0c9084197177..1eba5809ed8c061013837e3305ddae210900dc90 100644
|
| --- a/google_apis/gcm/engine/connection_factory_impl.cc
|
| +++ b/google_apis/gcm/engine/connection_factory_impl.cc
|
| @@ -209,9 +209,14 @@ void ConnectionFactoryImpl::SignalConnectionReset(
|
| // connection.
|
| }
|
|
|
| - if (reason == LOGIN_FAILURE)
|
| - event_tracker_.ConnectionLoginFailed();
|
| - event_tracker_.EndConnectionAttempt();
|
| + // SignalConnectionReset can be called at any time without regard to whether
|
| + // a connection attempt is currently in progress. Only notify the event
|
| + // tracker if there is an event in progress.
|
| + if (event_tracker_.IsEventInProgress()) {
|
| + if (reason == LOGIN_FAILURE)
|
| + event_tracker_.ConnectionLoginFailed();
|
| + event_tracker_.EndConnectionAttempt();
|
| + }
|
|
|
| CloseSocket();
|
| DCHECK(!IsEndpointReachable());
|
|
|