summaryrefslogtreecommitdiff
path: root/client
diff options
context:
space:
mode:
Diffstat (limited to 'client')
-rw-r--r--client/client.go16
1 files changed, 8 insertions, 8 deletions
diff --git a/client/client.go b/client/client.go
index f437b19..743c79a 100644
--- a/client/client.go
+++ b/client/client.go
@@ -344,16 +344,16 @@ func (c *Client) AddServer(ck *cookie.Cookie, identifier string, _type srvtypes.
var release func()
defer func() {
- // If we must run callbacks, go to the previous state if we're not in it
- if !ni && !c.FSM.InState(previousState) {
- c.FSM.GoTransition(previousState) //nolint:errcheck
- }
if err == nil {
c.TrySave()
}
if release != nil {
release()
}
+ // If we must run callbacks, go to the previous state if we're not in it
+ if !ni && !c.FSM.InState(previousState) {
+ c.FSM.GoTransition(previousState) //nolint:errcheck
+ }
}()
if !ni {
@@ -420,6 +420,10 @@ func (c *Client) GetConfig(ck *cookie.Cookie, identifier string, _type srvtypes.
var release func()
defer func() {
+ c.TrySave()
+ if release != nil {
+ release()
+ }
if err == nil {
// it could be that we are not in getting config yet if we have just done authorization
c.FSM.GoTransition(StateGettingConfig) //nolint:errcheck
@@ -428,10 +432,6 @@ func (c *Client) GetConfig(ck *cookie.Cookie, identifier string, _type srvtypes.
// go back to the previous state if an error occurred
c.FSM.GoTransition(previousState) //nolint:errcheck
}
- c.TrySave()
- if release != nil {
- release()
- }
}()
identifier, err = c.convertIdentifier(identifier, _type)