From b19b4f49ee52e9d1d945ed6c49f6877824ea13a3 Mon Sep 17 00:00:00 2001 From: Nicolas MASSE Date: Wed, 3 Feb 2021 15:29:24 +0100 Subject: [PATCH] fix deadlock --- async/dispatcher.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/async/dispatcher.go b/async/dispatcher.go index 7349145..6c3a021 100644 --- a/async/dispatcher.go +++ b/async/dispatcher.go @@ -202,11 +202,21 @@ func (dispatcher *Dispatcher) NewToken(token string) { dispatcher.newToken <- token } +func (dispatcher *Dispatcher) consumeNewToken() { + select { + case newToken := <-dispatcher.newToken: + dispatcher.Importer.Token = newToken + default: + } +} + func (dispatcher *Dispatcher) ApplyClient(realmName string, client keycloak.ClientRepresentation) { + dispatcher.consumeNewToken() dispatcher.clients <- KeycloakClientCreationRequest{realmName, client} } func (dispatcher *Dispatcher) ApplyUser(realmName string, user keycloak.UserRepresentation) { + dispatcher.consumeNewToken() dispatcher.users <- KeycloakUserCreationRequest{realmName, user} }