diff --git a/util/configv3/write_config.go b/util/configv3/write_config.go index 11e2d7481c7..15f02637820 100644 --- a/util/configv3/write_config.go +++ b/util/configv3/write_config.go @@ -6,6 +6,7 @@ import ( "os" "os/signal" "syscall" + "time" ) // WriteConfig creates the .cf directory and then writes the config.json. The @@ -44,6 +45,14 @@ func (c *Config) WriteConfig() error { return err } + for i := 0; i < 5; i++ { + if err := os.Rename(tempConfigFileName, ConfigFilePath()); err == nil { + return nil + } + + time.Sleep(50 * time.Millisecond) + } + return os.Rename(tempConfigFileName, ConfigFilePath()) }