gdm: Ensure we cancel all the previously running services on auth retry

When retrying the authentication we should make sure that all the
previously initiated services are stopped in order to begin a new
authentication session with all the configured services.

Unfortunately at the current state we only dispose the currently used
user verifier, but we don't make it to stop all the relative gdm workers
and then they'll stay around potentially blocking any further usage of
them (as it happens with the fingerprint one, that has unique access to
the device).

So, cancel the currently running authentication before starting a new
one if we're explicitly retrying.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1622>
This commit is contained in:
Marco Trevisan (Treviño) 2021-02-02 17:29:29 +01:00 committed by Marge Bot
parent ca912f55cc
commit 80a7a8ddb9

View File

@ -591,6 +591,7 @@ var ShellUserVerifier = class {
}
_retry() {
this.cancel();
this.begin(this._userName, new Batch.Hold());
}